Hello,
Regarding applications best practices, I noticed that in the list of best
practices there's nothing related to documenting your extension, apart from
the fact that you should publish it on e.x.o.
It's better now, but I think it happened frequently to have pages created
in extensions repository with only the default information and a download
link, it makes difficult understanding and using the extension. For example
for xar, it could be helpful to have at least the list of space(s) created
by the app (if any), without having to look into the xar, or to install it
with EM.
Also in EM you see the pages installed, but only in the logs. After it's
installed and you come back, you have no way to list the pages that belong
to a specific extension. For an app you could have an entry in app panel,
but for a macro for example, it makes it difficult to find the macro
afterwards.
Obviously for anything proposing an API, the API should be described (at
least a javadoc link, better some digest in extension page IMHO).
The problem with adding the documentation AFTER publishing the extension
(for example, you need to deploy it in a rush, so you don't have time to
write proper documentation), is that you risk that users come first when
extension is published, see nothing, and never come back. So I really think
to have this part of the release process of an extension (and not something
added after the time).
That's also a problem for example with some Maven plugins (even some
officially supported), that propose only very minimal information on their
site, and count on source code access and forums to provide essential infos
to users...
WDYT ?
BR,
Jeremie
---------- Forwarded message ----------
From: vincent(a)massol.net <vincent(a)massol.net>
Date: 2014-05-07 8:43 GMT+02:00
Subject: Re: [xwiki-devs] [Proposal] New xwiki-extensions GitHub
organization
To: XWiki Developers <devs(a)xwiki.org>
Hi Marius,
Thanks for your reply with challenging questions ;) See below.
On 7 May 2014 at 07:31:34, Marius Dumitru Florea (
mariusdumitru.florea@xwiki.com(mailto:mariusdumitru.florea@xwiki.com))
wrote:
> You mentioned 2 needs and your proposal satisfies only the second.
> What about the first need?
>
> Who's going to be responsible for releasing these extensions?
The xwiki-extensions organization is under the responsibility of the XWiki
Dev Team so it’s the XWiki Dev Team who will release its extensions.
> We don't
> have many options when it comes to choosing a release manager for XE
> so I doubt committers will jump in to release these extensions unless
> they really need them. So we may end up with either
>
> * having long release cycles for these extensions (which is against
> the second need you mentioned) because everyone has other things to do
> (note that this currently happens with some of the maintained
> extensions from xwiki-contrib), or
> * using the XE release manager and releasing all of them at once, but
> then having a separate GitHub repo for each extension is not
> justified.
>
> In any case, the time spend on doing releases and the paper work
> around them will increase and it will most probably be the time of the
> XE release manager.
Yes I agree about your points. We need to handle this.
Now
===
The new xwiki-extensions organization strategy will work only if we get
more committers. The idea is to get the contributors of those extensions as
committers for those extensions and thus be the RM for those extensions.
Said differently we need a defined RM per repo.
Note that longer release cycles is not an issue if the extensions has not
had any code committed for it. What’s important is to be able to get it in
the hands of users when there are important bug fixes or new features. It
seems logical to me that those who commit these bugs/features release them.
It’s obvious that separated extensions would mean a lot more work *if* we
wanted to always release them all. But this is not the case. They’ll be
released when those working on them want to release them or under user
pressure.
What we need to decide is how we want to handle Roadmaps and Release notes.
I think we should start defining roadmaps per extension on e.x.o (we
already support RN on e.x.o using either the jira macro or manually).
Generally speaking for each extension that we add to xwiki-extensions we
need a person resonsible for it, who’ll be in charge of defining the
roadmaps, release notes and do the releases (he/she can delegate but he/she
will still be responsible until that responsibility is handed to someone
else. I believe this will be one criteria for accepting an extension in
xwiki-extensions.
Future
======
When we have the notion of Flavors, I believe it will simplify things to
organize releases per flavor (XE can be considered a flavor ATM BTW). When
this time comes we could decide to have a RM per flavor with a
Roadmap/Release notes per flavor. I have no idea how many flavors we would
have but I can think of 3:
- xwiki.org flavor (FAQ app, JIRA macro, IRCBot app, etc)
- knowledge base flavor (…)
- collaborative apps flavor (calendar, meeting manager, file manager, etc)
> As for moving extensions out of xwiki-contrib to xwiki-extensions,
> it's not simple. First, it's not very clear which contrib extensions
> will be chosen. You said "some maintained apps" but the link you gave
> is more about the functionality they provide and whether they fit in
> our view of the collaborative app suite. Then in order to move an
> extension you need to ask the contributors, otherwise you'll have to
> fork the repo and create a new extension id.
They’ll be chosen on a case by case basis with a VOTE for each. The person
proposing it will put forward a maintainer for the extensions (who will be
responsible of Roadmap/Releases Notes and performing releases).
Note that IMO there are some conditions that we could define as base
conditions:
* Having had several releases already
* Obeying the app best practices as defined by
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPra…
* Having some tests and for apps, having at least one functional test (this
means the functional test fwk is in place and ready to receive more tests)
* Code style needs to obey
http://dev.xwiki.org/xwiki/bin/view/Community/CodeStyle and generally
speaking obey the practices defined on http://dev.xwiki.org
> Then what happens if an
> extension from xwiki-extensions stops being maintained, do we move it
> back to xwiki-contrib?
Yes, same as what happens currently in the xwiki organization.
> I'm not fully convinced by your proposal.
The real goal of this proposal is to start having nice applications that
can be a showcase of XWiki. Till now we have the engine and some extensions
but none of them are developed as strongly as platform and they fall short.
This is an effort to make a usable XWiki *product* vs just an XWiki
*platform*.
Again, we should take in only extensions that we can maintain, i.e. for
which we have a volunteer to maintain them.
TBH I don’t know if this will succeed or not but I feel it’s worth trying :)
Do you have some better idea?
Thanks
-Vincent
> Thanks,
> Marius
>
> On Mon, May 5, 2014 at 5:43 PM, vincent(a)massol.net wrote:
> > Hi devs,
> >
> > Right now we have 2 organizations related to the XWiki project on
Github: xwiki and xwiki-contribs.
> >
> > The separation is currently the following:
> > * XWiki Committers maintain the code in the “xwiki” organization
> > * non XWiki Committers (aka contributors) maintain the code in the
“xwiki-contrib” organization in the way they want (some extensions there
are not maintained, others are maintained)
> >
> > After brainstorming with Thomas Mortagne we’d like to propose the
following changes:
> >
> > Need
> > =====
> >
> > * Be able to extract some maintained apps from xwiki-contrib to
separate them from less maintained extensions. For example the top apps
listed here:
http://design.xwiki.org/xwiki/bin/view/Proposal/CollaborativeApplications
> > * Be able to extract some extensions currently located in
xwiki-platform but not released with XE so that they can have a different
release cycle (examples: FAQ app, IRCBot extension, JIRA macro, etc).
Having different release cycle allow to release new versions quicker to our
users (bug fixes, new features).
> >
> > Proposal
> > =======
> >
> > * Introduce a new xwiki-extensions organization in GitHub which would
be maintained by the XWiki Dev Team (aka XWiki Committers)
> >
> > * For now, move out of xwiki/xwiki-platform all modules that are not
bundled by default in XE. This rule will be reviewed and modified when we
introduce the flavors concept in the future. The idea is that
xwiki-platform will contain “core extensions” only and as we progress
towards extensions, the number of core extensions will get smaller and
smaller till possibly only the EM and what it requires. Everything else
would be located in the xwiki-extensions organization
> >
> > * Have one repository per extensions in the xwiki-extensions github
organization so that each extension can be released independently of each
other
> >
> > * In order to make it simple to release, the idea would be to have
Roadmaps and aggregated Release Notes per Flavor (this is what we’re doing
now with the “XE” flavor BTW).
> >
> > * We will be able to vote in committers for specific repos located in
the xwiki-extensions organization without having them voted for the xwiki
organization (although, over time, they would be able to become xwiki
committers for the xwiki orgnization should they wish and if they’re voted
in)
> >
> > * Extensions from xwiki-extensions published on e.x.o would have “XWiki
Development Team” as author, which means they will be officially supported
by the xwiki committers.
> >
> >
> > WDYT?
> >
> > Thanks
> > -Vincent & Thomas
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Hi devs,
Right now we have 2 organizations related to the XWiki project on Github: xwiki and xwiki-contribs.
The separation is currently the following:
* XWiki Committers maintain the code in the “xwiki” organization
* non XWiki Committers (aka contributors) maintain the code in the “xwiki-contrib” organization in the way they want (some extensions there are not maintained, others are maintained)
After brainstorming with Thomas Mortagne we’d like to propose the following changes:
Need
=====
* Be able to extract some maintained apps from xwiki-contrib to separate them from less maintained extensions. For example the top apps listed here: http://design.xwiki.org/xwiki/bin/view/Proposal/CollaborativeApplications
* Be able to extract some extensions currently located in xwiki-platform but not released with XE so that they can have a different release cycle (examples: FAQ app, IRCBot extension, JIRA macro, etc). Having different release cycle allow to release new versions quicker to our users (bug fixes, new features).
Proposal
=======
* Introduce a new xwiki-extensions organization in GitHub which would be maintained by the XWiki Dev Team (aka XWiki Committers)
* For now, move out of xwiki/xwiki-platform all modules that are not bundled by default in XE. This rule will be reviewed and modified when we introduce the flavors concept in the future. The idea is that xwiki-platform will contain “core extensions” only and as we progress towards extensions, the number of core extensions will get smaller and smaller till possibly only the EM and what it requires. Everything else would be located in the xwiki-extensions organization
* Have one repository per extensions in the xwiki-extensions github organization so that each extension can be released independently of each other
* In order to make it simple to release, the idea would be to have Roadmaps and aggregated Release Notes per Flavor (this is what we’re doing now with the “XE” flavor BTW).
* We will be able to vote in committers for specific repos located in the xwiki-extensions organization without having them voted for the xwiki organization (although, over time, they would be able to become xwiki committers for the xwiki orgnization should they wish and if they’re voted in)
* Extensions from xwiki-extensions published on e.x.o would have “XWiki Development Team” as author, which means they will be officially supported by the xwiki committers.
WDYT?
Thanks
-Vincent & Thomas
Hi folks,
I saw an issue to rename a method ( http://jira.xwiki.org/browse/XWIKI-10311 )
in XWikiContext. I don't want to single out the author, the commit is not an
outlier, on the contrary it represents a pattern and this worries me.
I've seen this same pattern in Microsoft technology and while each decision in
isolation makes sense, the sum of all changes ended up making Windows an
unapproachable API garbage heap which may be one reason why everyone left the
desktop to develop for the web.
Take for example the humble printf() function, standardized in POSIX.
At some point a somebody at Microsoft noticed all of the security problems with
C programs and decided to make a set of "hardened" functions which would be more
secure. Some of them had excellent security features but others did just a little
extra checking, each had the suffix "_s" added to the function name.
Because it's not feasible to do any other checks, printf_s() just checks if the
inputs are NULL and if so, raises an exception. Developers who had been using
printf() were told that they were making bad insecure code and had to begin using
printf_s().
Windows was being used in many countries with different alphabets and at the time,
the only way to represent different languages was using the high 128 characters
left undefined by the ASCII standard, but since each language needed a different
128 characters, Windows needed to know what language the string should be
interpreted in so somebody invented printf_l() which took an extra parameter which
was the *locale*. Of course printf_s_l() because people still need to write secure
code!
Eventually this silly idea of locales and code pages was replaced with Unicode
(specifically UTF-16). Unicode characters being 16 bits wide needed to be handled
differently from their 8 bit cousins so a new set of functions was written
beginning with w prefix. wprintf() wprintf_s() and to make porting easier for
programs which had been written to use "_l" functions, they added wprintf_l()
and wprintf_s_l() even though they should not have been strictly necessary.
Unfortunately after everyone had rewritten their programs to use the new and
improved wchar_t and the w* functions, someone realized that not all computers
even support Unicode! So they rushed to implement a new character type called
tchar_t which is a wide character if-and-only-if the computer supports it.
When tchar was invented, they had 4 printf functions to port and so came
tprintf() tprintf_s() tprints_l() and tprintf_s_l().
Then some smart guy at IBM took another look at this Unicode idea and realized
that with clever encoding, one could make a character representation which uses
1 byte to represent ASCII letters and more bytes only when it needed to represent
different alphabets. Thus UTF-8 was born. The best part was it was fully backward
compatible so you could use this with normal printf()!
In the Linux world, most of this drama just never occurred, people kept on using
printf() as if the rest of the world never existed and when UTF-8 was devised,
Linux programs could suddenly speak Chinese. Microsoft, apparently ashamed of
their 11 printf functions but still unable to take a lesson, deprecated them all
and went on to create .NET which standardized around Console.WriteLine() (for now).
While Linux and friends now all transparently support UTF-8 and it's alphabets,
Windows is still unable to support Unicode filenames without first converting the
string into wide character format and then using the old 'w' prefixed functions.
Even then, UTF-8's scaling byte count supports more characters than UTF-16 so
Windows *still* has a hard time with some languages!
The problem with all this is you lose coherency, the community fragments and if the
scary plethora of methods is not enough to scare off new developers, there are the
angry old developers standing by to haze them for using insecure/unportable/deprecated
functions instead of the shiny new ones. I think we should think a lot harder before
either deprecating a method or adding duplicate functionality.
Anyway my 2¢
Thanks,
Caleb
Hi devs,
Our intellij IDEA ultimate license has expired. Jetbrains is ok to renew it but they wish that the xwiki project gives something more in return: they mentioned some blog post for example.
So first, who’s using IDEA and would like to continue using the Ultimate version (vs the community one which is free)?
Any idea of what we could do?
Thanks
-Vincent
Hi devs,
I’d like to propose what I started writing in http://jira.xwiki.org/browse/XWIKI-10274 :
"
The idea is to send the following pieces of information too:
- Java version
- OS name, arch and version
- Database product name and version
This will allow us to know more our use base and evaluate better the consequences of moving from one version of Java to another, what are the most used DBs on XWiki, what OS is the most used for XWiki, etc. This is useful to understand where to focus our support efforts for example.
See also http://design.xwiki.org/xwiki/bin/view/Proposal/ActiveInstalls2
“
WDYT?
Thanks
-Vincent
Hello,
I want to load content in large number of(millions) text files into
XWiki pages.The text files contain Unicode Kannada characters(as well as
some English characters).
Is there a way to programmatically load these text file content into a
XWiki page? Also will it work for millions of pages?
I am new to XWiki.Can you please help me out.
Thank you,
--
Regards,
Ananthakrishna
Hi devs,
This mail is about voting to drop support for IE8 in 6.x cycle.
The issue is more complicated, since according to our 'Browser Support
Strategy' [1] we are supporting IE8, IE9 and the latest versions of FF,
Chrome (+ Safari5).
IE8 was released in March 2009 (4 years ago)
IE9 - March 2011 (2 years ago)
IE10 - Sept 2012 (17 months ago)
IE11 - Oct 2013 (4 month ago)
With the release of IE11 some companies also dropped their support for IE9,
so we should also adjust our support strategy by supporting newer browsers
(IE10, IE11) and dropping the support for old ones (IE8, IE9).
According to Statcounter for the last 6 month period
http://gs.statcounter.com/#browser_version-ww-monthly-201309-201402-bar the
most popular IE browsers are IE10 (8.48%) and IE8 (7.98%).
While the market share is not neglectable there is something you need to
consider:
In 6.x we want to add a new skin: Flamingo. Ideally this skin should be
responsive. In order to assure responsiveness we need media query support.
IE8 doesn't has support for media query natively, we would need Respond.js
[2] to enable it.
While this solution exist, 6.x will be ready at the end of 2014 when I
suspect the market share for IE8 will drop.
Additional to not having media query support, there are other CSS3
properties and HTML5 elements that are not fully supported by IE8
(border-radius, box-shadow, transition, etc.).
This is my +1 to drop support for IE8 in 6.x
Thanks,
Caty
[1] http://dev.xwiki.org/xwiki/bin/view/Community/BrowserSupportStrategy
[2] https://github.com/scottjehl/Respond
Hello,
I was having a look at the proposal for Forum app design with Flamingo
[1][2], and I thought it could be good to start thinking about the same for
the Mail Archive app. Yes, I'm still working on this btw :)
Would it be possible for me to re-use some graphical elements from this
proposal ? (buttons icons, the grey icons around the boxes corners, this
sort of thing). Would it be possible to somehow get close to this design
even without Flamingo skin (so with colibri), as flamingo is still not a
final skin ?
Also I remember there were some discussions about it, but how should one
proceed, keep the same app and maintain both colibri/flamingo look with
distinct css (and how to switch between both ? detect the current skin of
the wiki ?). Or just make a "flamingo" version that would not look too bad
with colibri ? Would the ColorTheme variables still be available for a
parsed ssx ?
To be honest I like the proposal (and a forum app UI is the closest you
could get to a mail archive app UI), except maybe for the topics / topics
answers, if there's a large number of answers (occurs often with a mail
thread), maybe it's not enough compact / paginated. In my most crazy
dreams, the forum app and the mail archive app could share the same UI with
small variants, but fed with different objects / data sources - seems very
nice idea, but would be quite complex to achieve.
I'm just trying to prepare myself only, because I will not work on this yet
- I'm currently bugfixing and finishing some UIs. Maybe I should wait for
the 6.x cycle (and flamingo) to be more mature.
Thanks & regards,
Jeremie
[1] http://design.xwiki.org/xwiki/bin/view/Proposal/ForumApplicationDesign
[2] http://xwiki.markmail.org/thread/kytpmsypd2cjemir
Good day,
One of the objectives of 6.0 is to review the existing applications on
extensions.xwiki.org, improve them and see how they would integrate in the
upcoming Flamingo skin (while also considering improvements suggestions).
This mail covers the Flamingo integration for the Tasks
Application<http://extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Applicati…>.
You are welcomed to review the proposal at:
*http://design.xwiki.org/xwiki/bin/view/Proposal/TaskApplicationDesign
<http://design.xwiki.org/xwiki/bin/view/Proposal/TaskApplicationDesign> *
Any feedback is welcomed.
Thank you, have a good day!
--
Ionut MAXIM
- - - - - - - - - - - - - - - - - - - - - - - -
Web Designer @ XWiki SAS
- - - - - - - - - - - - - - - - - - - - - - - -
+40755120711 | www.xwiki.com
Hello devs,
As some of you know, about one year ago I developed a toolkit for scripting the
generation and installation of .xar extensions. As of last July, my kit was
really just a javascript API for crafting extensions programmatically. Recently
I finished development of a directory structure for representing XWiki
applications which layers on top of the toolkit.
I documented it here:
http://design.xwiki.org/xwiki/bin/view/Design/DirectoryStructureforXWikiApp…
I would like to hear some thoughts about this structure as I'm hoping to evolve
the optimal human readable filesystem representation for XWiki applications and
content so comments are most welcome.
I would like to add:
* simple representation of extension with all metadata necessary for uploading
to extensions.xwiki.org
* xardump to dump a xar file into a "cannonical" directory structure.
* xarlint to check if a directory representation is cannonical, cannonicalize
it, or warn if nodejs specific functions are being used.
* maven job which builds xars from directory structures.
WDYT?
Caleb