[TYPO3-core] RFC #13379: Sprite Icon API

Thomas Allmer at at delusionworld.com
Mon May 3 02:14:38 CEST 2010


Hey Benni,

thx for explaining all this in more detail and you are completely right 
with your points. It's probably not the most sufficient way of doing it 
but definitely the only one working.

Looking forward to the spritegenerator, maybe I can help out on some 
stuff around it.

Attached you find an updated list of missing icons I found so far.

There is also some inconsistency about what icons are available as files 
in images/icons/ and which are already included in sprites (image + css) 
[most probably an effect due to the missing spritegenerator :p]. And it 
seems that some namings of icons may be wrong (as stated in my other post)

thx for the hard work... :)

On 02.05.2010 17:40, Benjamin Mack wrote:
> Hey Thomas,
>
> thanks for your feedback.
>
> The comments about the wrong CSS path have been taking into account and
> were basically just a wrong copy/paste issue of myself. v10 (see my
> other post) fixes this and works like a charm on DB records.
>
> I also agree that creating CSS files should *not* be part of the API.
> However, if we finally want to get this feature in, we need to have some
> kind of backwards-compatibility for TCA records (as you mentioned
> yourself), at least for now!
> I also agree that this function is part of a "sprite generator" API
> however that's a separate issue that will be tackled *after* this sprite
> API was finally committed.
> You know how things are, and this patch has been flying around since
> such a long time now, adding all the other things to it would just made
> it worse to review, and that's also (at least my understanding) one of
> the reasons you stopped working on it, as you had the feeling it would
> never go in the Core.
>
> This patch is part 1 of your four points, which I think is a good
> approach. The way we chose it now is that we can now work on multiple
> issues simultaneously, which would be
>
> * to find all spots in the BE where we can use the Sprite API
> * keep backwards compatibility
> * to finally get a sprite generator in place
>
> You also noticed that buildTcaSpriteIconNames() is protected, which
> means that it is *not* part of the public API but just a helper
> function. So it will be easy to remove that function again, which I
> don't have any problems with it as soon as the *real* sprite generator
> API is in place. However, as you also know, Steffen Ritter and me were
> sitting on this task basically the last 48hs to make this part at least
> ready for the Core.
>
> I'm also interested in the list of missing icons, so I can ask Jens again.
>
> So, thanks for not blocking, and you're more than welcome to help out
> with the rest of the tasks, as it's really a huge job to do!
>
> All the best,
> Benni.
>
> On 02.05.10 00:33, Thomas Allmer wrote:
>> On 01.05.2010 21:59, Steffen Kamper wrote:
>>> Steffen Kamper schrieb:
>>>> Hi,
>>>>
>>>> here is the CGL-cleaned v8 (from v7b)
>>>>
>>>> so my +1 by reading and testing
>>>>
>>>> vg Steffen
>>>
>>> lol - senseless without the patch ...
>>>
>>> vg Steffen
>>
>> Hi,
>>
>> so I also tested this and most of the stuff worked.
>> However the buildTcaSpriteIconNames did not work. I tested it with
>> tt_address and the relative path was wrong.
>>
>> created file is: typo3temp/spriteapi/zextensions.css
>>
>> ..t3-icon-tt_address-default {
>> background-position: 0px 0px !important;
>> background-image: url('../typo3conf/ext/tt_address/ext_icon.gif')
>> !important;
>> }
>>
>> so it need needs two "../" to work... It also created stuff like this
>> for me
>> ..t3-icon-be_users-0 {
>> background-position: 0px 0px !important;
>> background-image: url('sysext/t3skin/icons/gfx/i/') !important;
>> }
>> which is simply wrong CSS...
>>
>> However this all really doesn't matter as in my opinion it's wrong
>> altogether.
>>
>> Creating valid css files should NOT be part of this API. This api is
>> about creating spans with proper classes. The nice thing about this is
>> that you don't need to care about paths as they are inside the css.
>>
>> Automatically creating correct css files for the sprites should be part
>> of a "spritegenerator".
>>
>> So again I think people getting ahead of the task. This is about the api
>> howto create spans with css classes - nothing more.
>>
>> With this approach now every time an icon for a record is created it
>> checks if anything in the TCA changed?
>>
>> I would find it much better to do this after an extension is installed.
>> For backward compatibility you could make sure that every extension
>> get's a proper "typeicon_classes"; However as stated this should be part
>> of a spritegenerator. This now is a mix of generator and sprite API...
>> which is not good in my opinion.
>>
>> Most of the other changes; Function Names and splitting of some stuff is
>> good and makes it easier to read.
>>
>> I won't block this patch as I think it's still better than nothing and
>> can be changed/improved once we have a proper spritegenerator.
>>
>> Just to say it once again; I believe the commit plan should look
>> something like this:
>> 1) sprite Icon API (just spans with classes)
>> 2) spritegenerator (create css and image files) [with some backward
>> compatibility "features/hacks"]
>> 3) prepare a complete icon set (there are still quite some icons
>> missing; I have a list if anyone is interested [already sent it to Andre
>> and Jens some time ago])
>> 4) replace all the calls in the core


-- 
+---------------------------------+-----------------------------------+
| Thomas Allmer                   |   http://www.delusionworld.com    |
| E-mail: at at delusionworld.com    |   phone: +43 699 16217064         |
+---------------------------------+-----------------------------------+
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: missingIcons.txt
URL: <http://lists.typo3.org/pipermail/typo3-team-core/attachments/20100503/c0d0ec89/attachment.txt>


More information about the TYPO3-team-core mailing list