fciubotaru (SVN) wrote:
> Author: fciubotaru
> Date: 2009-04-27 15:00:12 +0200 (Mon, 27 Apr 2009)
> New Revision: 19131
>
> + Space exstngWithUnpubPagesSpace = wiki[sp.name];
I prefer to keep away from such shorted names, as they don't provide any
real benefits, but reduce readability.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hello devs,
Auto-saving the content during long edit sessions, to prevent the
complete loss of data in case of browser or OS crashes,
(http://jira.xwiki.org/jira/browse/XWIKI-1581) is a pretty useful
feature that people have been asking for.
For 1.9 there will be the possibility to enable autosave. However, the
implementation is pretty basic, more of a hack on top of the current
architecture: an asynchronous JavaScript calls periodically save &
continue, marking the saved versions as minor and setting the version
comment to "(Autosaved)". This approach has some obvious disadvantages:
- A lot of minor versions are created during the editing
- Cancel does not undo the changes (a revert could be done to the
version at the beginning of the editing session, which creates yet
another document version)
... but at least it's a start.
For properly implementing this in the future, some important changes are
needed. In particular, the support for pseudoversions
(http://jira.xwiki.org/jira/browse/XWIKI-500). Pseudoversions are
temporary versions of a document being edited, and can be seen as
short-lived versioning branches, resulting in a one official version
when the user finishes editing the document. These pseudoversions will
be memorized in a new table, similar to the document table or the
recycle bin.
Along with introducing pseudoversions, several behaviors should be
changed, improving the user experience. For instance:
- In all editors, "Save & Continue" should become "Save draft" and
should create pseudoversions that can be canceled, and "Save and View"
should become simply "Save" (these texts are also much easier to
understand by the user).
- In class editing, properties are added in the pseudoversion, and these
changes can be canceled when the user presses the "Cancel" button.
(canceling property addition is not possible ATM, unless the document is
reverted).
- In the object editor, objects can be added in the pseudoversion, and
all changes can be saved at once.
These changes are pretty substantial, from the data management and user
experience point of view, but I believe it is worth making the step.
Please tell me what you think. Should we try to get this done before 2.0?
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hello Google Summer of Code students,
First of all, congratulations on your applications and your activity
during the selection period, and welcome in the XWiki development team.
Before guiding the accepted students to their next steps, we'd like to
thank again all those who showed interest in XWiki for this Summer of
Code. We had an impressive number of good applications this year, with
professional approaches and interesting ideas, and it was very difficult
to choose only 6. Unfortunately, some very good students, with great
potential, were not accepted. So, to those interested in getting
involved anyway, without Google's implication, I renew the invitation to
put your ideas in practice under the guidance of the community. Even
though the money will be missing, you can still take advantage of the
other GSoC benefits: learning new things, gaining experience, earning
recognition, etc
[http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/].
If you would like to do that, please let us know by replying to this mail.
For the accepted students, here are some getting started hints:
Community bonding period
According to the program timeline
[http://socghop.appspot.com/document/show/program/google/gsoc2009/timeline],
the next month (April 20th - May 23rd) is to be used for community bonding.
The first thing to do, sometime this week, is to present yourself and
your project on the dev list, so that everyone knows who you are and
what to expect from you.
Also, you should continue getting acquainted with the code, the
practices and the developers. Please make sure you all read and
understand the following - very useful - documents:
- http://purl.org/xwiki/community/
- http://purl.org/xwiki/dev/
- http://platform.xwiki.org/xwiki/bin/view/Features/
Mentorship
We prefer open mentorship. While your assigned mentor is the one
officially in charge with your guidance, almost all interaction should
be done 'in the open' as much as possible, on the IRC channel or on the
mailing list. You should choose the communication medium according to
the importance of the matters to be discussed: naturally, the less
important issues are to be discussed on IRC, while the design decisions,
important progress announcements and testing/feedback requests go on the
list. This way, the community is informed on the evolution of your
project, and other developers can come up anytime with useful ideas and
suggestions. Moreover, if your mentor is hit by a bus (the bus factor
[http://en.wikipedia.org/wiki/Bus_factor]), another developer can take
his place with little effort.
Communication
Sitting alone in your room, working secretly on your project is
definitely a bad approach. However, please keep in mind that too much
communication can also be harmful, as it distracts the others from their
own work. You need to be able to communicate just right:
- provide meaningful information about your progress,
- ask the community's opinion on non-trivial design or implementation
decisions
- avoid waisting a lot of time on a problem, when a more experienced
developer (or a student that fought the same problem) could quickly
provide you an answer; however, do try to find the answer yourself at first.
Wrong: "Where do I start? What do I do now? And how do I do that? Is
this good? It doesn't work, help me!"
Right: "Since a couple of hours ago I get a strange exception when
building my project, and googling for a solution doesn't seem to help.
Looking at the error, I think that there's a wrong setting for the
assembly plugin, but nothing I tried works. Can someone please take a look?"
Subscribe to the devs list (if you didn't do this already), and start
monitoring the discussions. It is also recommended to subscribe to the
users list, but not mandatory. The notifications list is a little too
high volume and technical for the moment, but it is a great knowledge
source.
We have set up a wiki on the community farm for you to organize your
ideas and log your progress: http://gsoc.myxwiki.org/ . Each student
must register on this wiki, create and organize a space for the project,
with a blog where the evolution will be described. Currently the wiki is
pretty empty, but it will grow.
Development process
The project's lifecycle is NOT design -> implementation -> testing ->
documentation.
[http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/]
We invite you to adopt a test driven development
[http://en.wikipedia.org/wiki/Test-driven_development][http://www.amazon.com…]
approach and to experience agile development
[http://www.amazon.com/dp/0596527675/]. After the first coding week, you
must have some code that works. It won't do much, of course, but it will
be the seed of your project. Every functionality will be validated by
tests. The code must be properly tested and commented at the time of the
writing (don't think you'll do that afterwards, because in most cases
you won't).
We will create the proper projects in the xwiki sandbox, and we
encourage you to do __at least__ weekly commits (ideally, if you are
well organized, you should be able to commit code that works daily, so
try to aim at daily commits). This way, the code can be properly
reviewed, and any problems can be detected before they grow into
something too difficult to fix. One big code blob committed at the end,
no matter how good it may seem, is a failure at several levels.
A simple way of having something functional in the first week is to
prepare the maven build, which will give you the first unit test for the
first class.
Next steps, in a nutshell
- Get more familiar with the code and development process and try to
master Maven, JUnit, Selenium, component driven development, ...
- Continue fixing a few small issues, chosen so that they are __related
to your project__ -- This will help you get more familiar with the code
your project needs to interact with.
- Refine and organize the ideas concerning your project (use the wiki),
and write several use case scenarios.
- Start writing the first piece of code for your project.
At the end of the community bonding period, you should have a clear
vision of the project, well documented on the wiki, you should have the
build infrastructure ready, and you should be pretty familiar with the
existing code you will need to interact with. And, of course, you should
be familiar with the community and the way we communicate.
Good luck, and may we all have a great Summer of Code!
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
While I wasn't selected for GSoC this year, I am still interested in
developing the Calendar application for XWiki. I'll have a maximum of 10
hours a week to work on it, so I might not finish it in the GSoC
timeline, but hopefully I will complete it someday. :)
The XWiki development team is pleased to announce the release of XWiki
Enterprise 1.8.2 and XWiki Enterprise Manager 1.6.2.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
This release contains 76 bugfixes and enhancements. Most of the
modifications are targeting the general replacement of old 1.0 code
and content by 2.0 syntax and architecture and the stabilization of
XWiki.
Summary of changes since XWiki Enterprise 1.8.1 :
* Many WYSIWYG bugs fixed and improvements
* Many 2.0 syntax bugs fixed
* Many 1.0 to 2.0 conversion bugs fixed
* Several XMLRPC and REST, LDAP, Blog, PDF export bugs fixed and improvements
* Many bug fixes in many other places
For more information see the Release notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise182
and http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXEM162
Thanks
-The XWiki dev team
Hi Sergiu,
sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2009-04-23 22:06:46 +0200 (Thu, 23 Apr 2009)
> New Revision: 19003
>
> Added:
> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/widgets/
> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/widgets/jumpToPage.css
> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/widgets/jumpToPage.js
> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/widgets/modalPopup.css
> platform/web/trunk/standard/src/main/webapp/resources/js/xwiki/widgets/modalPopup.js
> Modified:
> platform/web/trunk/standard/src/main/webapp/templates/javascript.vm
> Log:
> XWIKI-3694: Add a reusable ModalPopup javascript widget
> Done.
For a project I started to work out an integration of modalbox
(http://www.wildbit.com/labs/modalbox/), also based on prototype and
Scriptaculous's Effects.
You can see it in action in XWiki here
http://incubator.myxwiki.org/xwiki/bin/view/XWiki/ModalBox
While it doesn't have the needed shortcut binding feature, the DOM part
of it is pretty powerful (but still pretty lightweight) and it has rock
solid browser support.
It also has nice options like callbacks on after/before content loading
and after/before hiding, the possibility to initialize with content
already in the DOM (copying over the elements), automatic height resize
based on content, etc.
I propose we merge both: we still need our own options here like the
keyboard shortcuts and probably more in the future, but for the box
display part of it it's IMHO better we take advantage of this library:
mature and from which evolution we will be able to benefit.
If we agree I'll be willing to do that merge.
One comment below:
>
>
> Modified: platform/web/trunk/standard/src/main/webapp/templates/javascript.vm
> ===================================================================
> --- platform/web/trunk/standard/src/main/webapp/templates/javascript.vm 2009-04-23 19:39:22 UTC (rev 19002)
> +++ platform/web/trunk/standard/src/main/webapp/templates/javascript.vm 2009-04-23 20:06:46 UTC (rev 19003)
> @@ -10,6 +10,11 @@
> ##
> ## JS Libraries.
> ##
> +$xwiki.jsfx.use('js/scriptaculous/effects.js', true)
> +$xwiki.jsfx.use('js/xwiki/widgets/modalPopup.js', true)
> +$xwiki.ssfx.use('js/xwiki/widgets/modalPopup.css', true)
> +$xwiki.jsfx.use('js/xwiki/widgets/jumpToPage.js', true)
> +$xwiki.ssfx.use('js/xwiki/widgets/jumpToPage.css', true)
> <script type="text/javascript" src="$xwiki.getSkinFile("js/prototype/prototype.js")"></script>
> <script type="text/javascript" src="$xwiki.getSkinFile("js/xwiki/xwiki.js", true)"></script>
> <script type="text/javascript" src="$xwiki.getSkinFile("js/xwiki/compatibility.js", true)"></script>
>
We should decide on which way we want to include our JS/CSS in
templates. I'd say only with (js|ss)fx plugin is ok.
Jerome.
> _______________________________________________
> notifications mailing list
> notifications(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/notifications