Hello,
To customize our entreprise wiki, we have identified a few plugins / macros that we need to develop. I have checked the online xwiki documentation / tutorial, but i find them quite uncomplete, so here i am with my questions :)
1) It is my understanding that, if my macro need some specific javascript (eg jquery.js) and css, i must use xwiki skin extension. While i can find easily how to create xwiki velocity code that use those extension, i found no explanation on how to do this in java from within "public List<Block> execute(T parameters, String content, MacroTransformationContext context)"? Where can i find example of embedding javascript/css inside a java macro jar or xar?
2) Extensions are provided as xar, maven archetype for xwiki java macro generates a .jar. How do i generate a xar with maven so that in one archive i have both my macro, the css and the js?
3) Most extension referenced on xwiki main site are open source, but where are the source? I can only find the compiled xar files on download
4) Is there some recommanded way to pass complex parameters to macros? I need to create some dynamic menu that will get as parameter a list of node + links + icon to show + subnodes + for each subnodes icons / links + subsubnode etc. Is it good practice to just put some kind of json in the body of macro, something like
{{mymenu width="200px"}}
[
{ name: "node1", link: "MySpace.MyPage1", icon: "somelinktoanattachement"} ,
{ name: "node2", link: "MySpace.MyPage2", icon: "somelinktoanattachement"},
{ name: "node3", link: "MySpace.MyPage3", submenu: [
{ name: "node3.1", link: "MySpace.MyPage31", icon: "somelinktoanattachement"},
{ name: "node3.2", link: "MySpace.MyPage32", icon: "somelinktoanattachement"}
]
}
]
{{/mymenu}}
And in this case, are there already some stock xwiki methode to transform json into objet array?
Thank you,
David Delbecq
Hi Devs,
I'd like to start a discussion about a Connector module for XWiki.
XWiki is a great tool to create, edit and organize information. But
while we can use macros to display external data, many XWiki's
organization (such as the livetable), editing and viewing features can
only be used for data stored in the XWiki System.
However from time to time we've seen that it would be really interesting to:
- allow editing/viewing of data from external systems using the XWiki
form system
- using livetable and search on external data
I've been thinking for a while that we can achieve that in XWiki by
transforming data read using an external API into XWiki Documents and
then use the XWiki APIs to display that data. We can also implement
livetable backends that would transform the livetable filters into
query supported by the external tool. And if all this could be
implemented as a "Connector Interface" most of the presentation code
would be generic and we could develop and install connectors and
magically you could make use of the XWiki development system to
display, present and create forms to edit data.
I've made a prototype for Salesforce and JIRA that shows the concept
and what the API could be (in this case in Groovy) and wrote a design
document that explains the system and the open questions:
http://dev.xwiki.org/xwiki/bin/view/Design/ConnectorModule
In my view this system is super powerfull if we can build it in the
XWiki Core so that the view/edit/save/search can be hooked to the
connector so that from the user experience the system is transparent
to the user.
WDYT ? Could the devs provide some insight of what the right
architecture should be for such a feature.
Ludovic
--
Ludovic Dubost
Founder and CEO
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost
Hi,
thanks everyone for all those usefull informations, i think with those + source codes from xwiki platform, i have everything i need to get started :)
David Delbecq
----- Mail original -----
De: "Marius Dumitru Florea" <mariusdumitru.florea(a)xwiki.com>
À: "XWiki Developers" <devs(a)xwiki.org>
Envoyé: Mercredi 13 Juin 2012 09:30:34
Objet: Re: [xwiki-devs] Some quesiton regarding development of xwiki macro / extensions / plugins
On Wed, Jun 13, 2012 at 1:48 AM, Sergiu Dumitriu <sergiu(a)xwiki.com> wrote:
> On 06/12/2012 09:46 AM, David Delbecq wrote:
>>
>> Hello,
>>
>> To customize our entreprise wiki, we have identified a few plugins /
>> macros that we need to develop. I have checked the online xwiki
>> documentation / tutorial, but i find them quite uncomplete, so here i am
>> with my questions :)
>>
>>
>> 1) It is my understanding that, if my macro need some specific javascript
>> (eg jquery.js) and css, i must use xwiki skin extension. While i can find
>> easily how to create xwiki velocity code that use those extension, i found
>> no explanation on how to do this in java from within "public List<Block>
>> execute(T parameters, String content, MacroTransformationContext context)"?
>> Where can i find example of embedding javascript/css inside a java macro jar
>> or xar?
>
>
> You declare a dependency on the org.xwiki.platform:xwiki-platform-skin-api
> module in your project, and you declare a dependency on one or more
> org.xwiki.skinx.SkinExtension fields with the right hint. For example:
>
> @Inject
> @Named("jsrx")
> private SkinExtension jsrx;
>
> Then you can call jsrx.use("jquery.js") if that file is packaged as a
> resource whenever your macro is used.
>
> If you'r
>
>
>> 2) Extensions are provided as xar, maven archetype for xwiki java macro
>> generates a .jar. How do i generate a xar with maven so that in one archive
>> i have both my macro, the css and the js?
>
>
> Not true, extensions can be both jars or xars, depending on what kind of
> extensions they are. If you're deploying a java macro, then it's right to
> have a jar extension. A xar is used when you're providing wiki documents
> that should be installed in the wiki.
>
>
>> 3) Most extension referenced on xwiki main site are open source, but where
>> are the source? I can only find the compiled xar files on download
>
>
> A xar is just a zip file holding wiki documents, and you can always edit
> those wiki documents to see their "source". A xar is both the source and the
> binary.
>
> Some extensions do have a separate link to a repository if they have one,
> especially those hosted on the official xwiki or xwiki-contrib repositories.
>
>
>> 4) Is there some recommanded way to pass complex parameters to macros? I
>> need to create some dynamic menu that will get as parameter a list of node +
>> links + icon to show + subnodes + for each subnodes icons / links +
>> subsubnode etc. Is it good practice to just put some kind of json in the
>> body of macro, something like
>>
>> {{mymenu width="200px"}}
>> [
>> { name: "node1", link: "MySpace.MyPage1", icon: "somelinktoanattachement"}
>> ,
>> { name: "node2", link: "MySpace.MyPage2", icon:
>> "somelinktoanattachement"},
>> { name: "node3", link: "MySpace.MyPage3", submenu: [
>> { name: "node3.1", link: "MySpace.MyPage31", icon:
>> "somelinktoanattachement"},
>> { name: "node3.2", link: "MySpace.MyPage32", icon:
>> "somelinktoanattachement"}
>> ]
>> }
>> ]
>>
>> {{/mymenu}}
>
>
> Unfortunately, macro calls are in text mode, so you don't have much of a
> choice.
>
> You could define a variable somewhere in Velocity and then read it in Java
> from the VelocityContext, but that's not very safe and might break in the
> future.
>
>
>> And in this case, are there already some stock xwiki methode to transform
>> json into objet array?
>
>
> I'm not sure of the status, but there was a proposal recently to include a
> JSoN tool in the platform. I think it wasn't committed yet,
It was committed,
http://extensions.xwiki.org/xwiki/bin/view/Extension/Velocity+Module#HJSONT…
, but it is useful in Velocity code. For Java code you should use
directly the available JSON library (e.g. json-lib as suggested by
Thomas).
Hope this helps,
Marius
>
> Reading from http://markmail.org/message/k4izx6re4lvdynx3 I think that you
> should use the Jackson library, available as a maven dependency from
> http://search.maven.org/#search|ga|1|a%3A%22jackson-core-lgpl%22
>
>> Thank you,
>>
>> David Delbecq
>
>
> --
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
>
>
>
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Hi,
I'd like to add staging to our official release process.
For milestone releases, I propose the staging cycle be for "0 time" (this may be revisited later).
For RC or finals, we place the release in staging and immediately call a VOTE to publish the release, this gives our testing team (everybody!) 72 hours to raise a potential issue.
Why:
#1. After some chat on IRC I decided that it is advantageous to move toward a faster release cycle and begin moving away from milestone releases in favor of staging. This will set the stage for the release method we will need.
#2. Staging is easy, I've modified the release script to include staging and with the script, it is a simple matter of about 5 clicks on nexus to "login", "close repository", "release repository".
#3. Staging is safe, the RM need not worry about fat fingers breaking the release, all it costs is time.
#4. The release process should be as close to the same as possible for milestone and RC/final releases. This simplifies scripting of the process, decreases the amount the RM must remember and makes every milestone release a rehearsal.
#5. Everybody else is doing it (is that even a reason?!)
Mandatory?
I would rather impress the RM with how easy and helpful staging can be than bind him with rules.
If I had followed the existing process to the letter, I would not have had any experience with staging to begin with.
In the interest of continuous improvement I would like to make this a strong recommendation, not a strict rule.
Here's my +1
Caleb
Hi devs,
The RM for 3.5.1 (Sergiu?) made a mistake while releasing and "forgot" some profiles.
One consequence is that rendering-standalone hasn't been released in version 3.5.1:
- See http://maven.xwiki.org/releases/org/xwiki/rendering/xwiki-rendering-standal… you'll see that 3.5.1 is missing
- Checkout tag 3.5.1 on rendering and view rendering-standalone/pom.xml, you'll see it has <version>3.5-SNAPSHOT</version> has parent version…
As a consequence I cannot push Rendering 3.5.1 on Maven Central.
Can the RM fix this please?
Thanks
-Vincent
XWiki core development team is proud to announce the availability of XWiki Enterprise 4.1 Release Candidate 1
This is the first and hopefully final release candidate of the 4.1 release cycle. Being a release candidate, this release is sparse on new features concentrating instead on stabilization of the features brought in Milestone 1 and Milestone 2. The 4.1 cycle brings new 3D graphs made with pure XWiki syntax, safer Groovy scripting, and new localization through timezone settings.
Go grab it at http://enterprise.xwiki.org/xwiki/bin/view/Main/Download and let us know what you think.
For more information about the 4.1-rc-1 release, See the Release Notes http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterpris…
Thanks to everyone who helped out to make this release great.
Caleb
Hello friends,
Thank you for being so patient with me. Here is a set of mockup with
content etc. and further development:
http://sdrv.ms/LLmQ5i
which extends: (http://sdrv.ms/LO70JI)
The goal is to consolidate everything to a section. (breadcrumbs/where you
are & navigation/supplementary info & content)
eg. the page breadcrumb has been added into the global bread crumb (is this
possible?); all page navigation/meta are in the sidebar (such that, again,
the main area is just content, and the sidebar are all additional infos)
The way i'm envisioning the responsive design for the content is like this:
When the screen is big enough, it will become 2 column. as we hit smaller
screen (eg. tablet) it will become one column. Then finally, the page would
collapse such that only the header is visible for mobile (thus also
becoming a table of contents) until being tapped, which will open the div.
As mentioned before, the same "sidebar" will appear when you click the
navigation hint on mobile (so it will be in a way consistent). Though with
this development i should probably add more than navigation (eg. NAVIGATION
/ INFO / ETC. or something).
What are your guys' thoughts, comments, concerns?
Thanks again!
Best,
Jonathan Solichin
After some discussion on IRC, the current plan for releasing 4.1-rc-1 and 4.1 has been determined
to be unworkable. The specific part at issue is the calling of a VOTE to release what is currently
in the staging repository and waiting 72 hours for it to be verified. While this provides the best
quality assurance, each blocker means another failed vote and another 72 hours + the time to fix
the issue and stage another release.
Proposal:
Stage the release 2 days before the official release date allowing blockers to be found and fixed.
Fix the issues and release the resulting build without any guaranteed testing window, hoping that
the patches to the earlier issues didn't introduce any regressions.
I don't like it much but it seems that it sucks less than all of the alternatives so +0 for me.
Caleb
Hi devs,
It seems we're loosing the race against bug reports:
http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10000#Created-vs-R…
For the past 365 days there are have been 780 bugs reported and 692 resolved (gap of 88 bugs). The graph seems to indicate that the gap is increasing.
Should we organize a bug fixing day?
Any other idea?
Thanks
-Vincent