Sergiu Dumitriu wrote:
> On 11/15/2010 09:18 AM, Raluca Stavro wrote:
>   
>> Hello Ricardo,
>>
>> Yes, you can use velocity code inside SSX and JSX objects. What you
>> need to do is to set the 'Parse content' property to 'Yes'. You can
>> take a look at the SSX documentation:
>> http://code.xwiki.org/xwiki/bin/view/Plugins/SkinExtensionsPlugin#HTip:Howtoreferafilefromaskinextension
>> .
>>
>> Example of usage:
>> #if(!$hasEdit)
>>    #body{
>>      background-color: red;
>>    }
>> #end
>>     
>
> This is problematic, since the extension is cached on the clientside 
> (browser cache). So if a user visits the wiki once unauthenticated, 
> after he logs in the same CSS file (already parsed) is used, so nothing 
> will change in the UI.
>
> To load the re-parsed CSS, either refresh the browser cache, or you can 
> set the Cache property of the extension to "Forbid", which is bad for 
> performance.
>
>   

I adopted this solution here sacrificing performance as I need the 
described behaviour (Annotation shown only for registered users). But I 
still get see some weird thing I've not been able to consistently 
reproduce yet.

I'm using a XE/XEM 2.4.30451 in production and a XE 2.7-SNAPSHOT.32908 
as trial environment. I'll keep this thread updated or open new ones as 
required when I gather more information!

An example:

Working with a virtual wiki. I've modified AnnotationCode.Style 
(XWiki.StyleSheetExtension) this way...

## Defining global variables; added by Ricardo Rodriguez on November the 
15th to apply conditional rules to CSS
#template('xwikivars.vm')

/* Menu */
.actionmenu #tmAnnotations {
  background-image: #imgURL('note') !important;
  /* Padding, margin and bg-position are adjusted in order to give this 
element
     the 'tab' look when active and the settings panel is displayed */
  background-position: 0 1px;
  padding-right: 5px !important;
  padding-top: 0 !important;
  padding-bottom: 4px;
  margin-right: 5px !important;
  margin-top: 2px !important;
  #if($isGuest)visibility:hidden;#end
}
.actionmenu #tmAnnotations a {
  padding-top: 0 !important;
}
.actionmenu .active {
  background-color: $theme.pageContentBackgroundColor; 
##$theme.backgroundSecondaryColor;
}
.actionmenu .active a {
  color: $theme.menuSelectedEntryLinkColor !important;
}

I never see "Annotations" in the right side of the action bar when 
browsing the site as Guest. When I log in, Annotations appears. And it 
persists consistently throughout the site for all spaces but those set 
as exceptions in the Annotations configuration panel.

BUT, if I reload a page, any page, Annotations disappears. I cleaned the 
cache, restarted the browser, restarted the computer,... Nothing. By 
reloading the page several times, it ends appearing again. But I'm not 
able to find a pattern.

ONE "FUNNY" THING: if Firebug Console is on, the reload is OK. 
Annotations persists.

Those are the errors logged by Firebug:

*****
xpected end of value but found ':'. Error in parsing value for 
'text-transform'. Declaration dropped.
[Break on this error] .actionmenu #tmAnnotations{background-...ontent 
blockquote{margin-bottom:10px;}
Style?language=en (line 1)
Unknown property 'border-radius'. Declaration dropped.
[Break on this error] border-radius: 1.2em;
colibri.css (line 205)
Unknown property 'border-radius'. Declaration dropped.
[Break on this error] border-radius: 1.2em;
*****

XE 2.7-SNAPSHOT.32908 doesn't show this behaviour.

Please, any idea? I don't know if this relates with any know issue or it 
relates with any error on my side. Any idea will be welcome!

Thanks!

>> Raluca.
>>
>> On Mon, Nov 15, 2010 at 12:36 AM, Ricardo Rodriguez [eBioTIC.]
>> <[email protected]>  wrote:
>>     
>>> Ricardo Rodriguez [eBioTIC.] wrote:
>>>       
>>>> Hi,
>>>>
>>>> I see how to control edit, export, action and watch appearance in
>>>> contentmenu div by tweaking contentmenu.vm. But, please, how could I get
>>>> the same control over Annotations entry in the same are?
>>>>
>>>> I want to show annotations only to users with edit rights in a given doc.
>>>>
>>>> Thanks!
>>>>
>>>> Ricardo
>>>>
>>>>
>>>>         
>>> The object of type XWiki.StyleSheetExtension in AnnotationCode.Style
>>> holds the code that seems to control how the action menu entry is shown.
>>>
>>> Currently, to hide the annotation icon on this menu will be enough for me.
>>>
>>> I can add visibility:hidden; to the concerned .actionmenu elements, but
>>> this also hides them for users with edit rights.
>>>
>>> Please, is it possible to add ##if($hasEdit)...#else...#end structures
>>> in a SSE? My bet is that this is not possible: this extensions holds CSS
>>> code, not a script. So, please, how could I introduce conditional
>>> structures to control how page elements are show?
>>>
>>> I guess I must tweak AnnotationCode.Script but, please, how?
>>>
>>> Any help will be welcome! Thanks.
>>>
>>> Best,
>>>
>>> Ricardo
>>>
>>> --
>>> Ricardo Rodríguez
>>> CTO
>>> eBioTIC.
>>> Life Sciences, Data Modeling and Information Management Systems
>>>
>>> _______________________________________________
>>> users mailing list
>>> [email protected]
>>> http://lists.xwiki.org/mailman/listinfo/users
>>>
>>>       
>> _______________________________________________
>> users mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/users
>>
>>     
>
>
>   

-- 
Ricardo Rodríguez
CTO
eBioTIC.
Life Sciences, Data Modeling and Information Management Systems

_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to