Hello all,
I am very sorry about the delay I caused to the release of XE 1.2.
The new Rights Management interface is almost ready. It includes the
following features:
1. Users management
2. Groups management
3. Rights management
The things that I already implemented:
1. For Users management:
- currently in xwiki all the users are displayed all at once in
Administration > Users & Groups as a long list of links to the users profile
pages; in order to provide a real-time management of the users I used a
table interface in which users are displayed dynamically (the users objects
are loaded with ajax, as the administrator scrolls down in the table); the
nice feature about this is that if the admin scrolls down at the bottom of
the table, only the last users (alphabetically taken by the username) will
be loaded and so on... the number of users to display at once can be
modified ( I am thinking to add this option in Preferences, WDYT? )
- the table currently display 4 columns: username (link to that user
profile page) , first name, last name and a management column with 2 buttons
(edit and delete)
- also, at the moment, i have implemented dynamic filters (filter as you
type) for username, last name, first name (separately or all) and there is a
select box with 3 options to dynamically display Local users, Global users
(from the main wiki in a multiwiki environement) or Both (maybe this should
also be a setting in the preferences? WDYT?)
- I am planning for the future to add a dynamic sorting algorithm to the
table (currently users are sorted by default from the api, alphabetically,
ascending for all the 3 columns) but this will demand more time to develop
- right now i have implemented the deletion of a user (when the delete
button next to an user is pressed, the user's document will be deleted with
ajax)
- the edit button (currently half-implemented) will open an ajax lightbox
that will display the inline editing of that user's profile and the save
will also be done dynamically)
- also, i already made the script to add a new user (register and add it in
the table; the table will remain sorted and display the location in it where
the user was added) but i have to display a button that will trigger the
lightbox; the lightbox will contain the register form for a new user;
- for the global users, the table will provide only a view, without editing
and delete buttons (because a global user cannot be deleted or edited from a
local wiki)
- also for the future (the velocity code already implemented) I am thinking
to add another button next to the user to automatically display, in a nice
tooltip, all the groups the user is member of (and with a link to the each
group - WDYT?)
2. For Groups management:
- the interface uses a user-like ajax table, with the difference that for
groups i display only the groupname (link), the number of members in that
group and the manage column;
- the edit button will also open the lightbox and allow to view all the
users in that group, paginated with javascript ( i wanted to use the same
ajax table to load all the users in the group but currently the api does not
allow that, so i have to take all the objects "XWiki.XWikiGroups" and make a
js pagination of the table);
- also, currently a group can contain XWiki.XWikiGroups objects, which have
only a field called Member - a user name ( or a usernames list? i am using
to add one member at the time); to add a subgroup in a group, the only
possible way right now is to add all the users in the subgroup in the group,
being careful not to duplicate the users; this is possible because in the
editing mode for a group, besides the table that contains all the members of
that group, each with a delete button next to it, I have 2 inputs with ajax
suggest: one used to add only one user to the group and the other one used
to add another group to the current group -> this will be done, as I said,
by adding all the users from a group to another (I've spoken with Sergiu and
Thomas and I don't know another way to do that right now because there is no
difference in a XWiki.XWikiGroups object to tell which member is a group and
which is a user - maybe in the future WDYT?)
3. Rights management:
- the rights management interface is table-based as specified on the Idea (
http://www.xwiki.org/xwiki/bin/view/Design/ImproveRightsManagement); the
administrator can select to see the rights for users or groups, local or
global or both.
- there is a column with the username/groupname and link to the profile and
the columns for rights: view, commend, edit, delete, admin (only at global
and space level), programming (global level, only main wiki) , register
(only global level).
- in the table there are displayed all the users or groups, taken with ajax,
and for each right there is a 3-state checkbox: by default, if the user has
no right set for the current level (document, space or global entry) the
checkboxes are empty; one click and the respective right is allowed, 2
clicks and the right is deny (is circular);
- there are buttons to save, revert or clear all the rights (removes all the
rights entry for that user or group) - all dynamically, all already
implemented and working
- what i did not implemented yet is this part:
"Visual understanding of rights inheritance (rights from the upper level
replace or not at the current level); The interface should show a column
"greyed" if no rights are set for this column (it means rights are
inheritated). We should see the inheritated rights checked (we need an API
to find an inheritated right since it does not exist now). At the global
level we heritate rights from the default (always authenticate in view,
always authenticate in edit, admins are heritated from global wiki in
multiwiki mode or are not heritated)When you ungrey the column then we can
start from the heritated rights. If you grey again the column no rights
should be saved for this column."
I did not implement that because i don't know how to take the inherited
rights for a user/group. As for the interface part, this is very simple, i
can have a 4-state checkbox, with the greyed state first, but I have to be
able to take in velocity the inherited rights. ( I need help to understand
how to do that )
- also I have not implemented yet the "optional admin panel can give quick
acces to admin actions (global rights, space rights, user management, groups
management"
, but i can use the same lightbox with some links for this matter or a xwiki
panel (WDYT?)
Currently, for the non-js users the old interface will be enabled. Should I
make the old interface reachable no matter if the user has or no js
activated? Like an option in the Preferences maybe? WDYT?
So, I would love to show you some screenshots or link but tonight I am
afraid it won't be possible. Reasons: I have transferred my work on the
laptop I will use at work because I needed to reinstall the system on my
personal laptop and I don't have the necessary software to run the project
yet (eclipse, maven). Tomorrow morning I will have a server up and running.
I also make a first patch tomorrow and put it on Jira. By Monday I will
implement the add button, the lightbox display for registering a user and i
will make the difference between space admins and global admis (as Sergiu
told me, is a matter of a line or two in velocity code in the interface
files and Thomas made methods for that in the api); also if it is urgent,
the panel with the links to administration.
So, that's all right now. I made a mistake because I should have written
more often on the devs and ask for guidance but as I am a begginer and also
have a limited time to work, I still have to learn to be part of a
community. I am really sorry for the delay I caused. It won't happen again
:)
Thanks,
Evelina
Hi everybody,
I am not able to download the source code from that pom.xml file.
Can anybody please tell me what is the other way to download the complete source code for xwiki.
Thanks,
ANUJ SHARMA.
---------------------------------
Now you can chat without downloading messenger. Click here to know how.
Hi all,
My status about rights management: ready and working :)
There are 2 small problems:
1. currently I tested with 10.000 random generate users and it works
slowly because I need some new methods in the RM API to count the number
of returned rows (because I currently used something like:
#set( $users = $rm.getAllMatchedGlobalUsers( $filterMap, $limit, $off,
$orderList ) )
#set( $countUsers = $rm.getAllMatchedGlobalUsers( $filterMap ).size() )
so for count I just take ALL the users from the database and then apply
size() which is killing, I know :P )
- so, Thomas, I will need the following methods:
getAllMatchedLocalGroupsCount(filters) or
countAllMatchedLocalGroups(filters) (to keep the name from the other
methods)
getAllMatchedGlobalGroupsCount(filters)
getAllMatchedLocalUsersCount(filters)
getAllMatchedGlobalUsersCount(filters)
getAllMatchedUsersCount(filters)
getAllMatchedGroupsCount(filters)
getAllMembersNamesForGroup(name)
getAllGroupsForMember(name)
(...without the nb, start parameters)
I then tested with the count put manually and it worked extremely well
(400 ms for 10.000 users this including all: database query, transfer,
javascript and dom processing - this on my personal laptop which has
limited capabilities :D ; like it is right now (with .size() ) it would
be 19 sec for 10.000! so a lot more :D ) so the count will improve the
ajax loading very much.
2. I need the suggest patch applyed :D I will make the patch for 1.1 (I
already apply it on the core and is working fine ) but someone has to
commit it ( I done it for GSOC for trunks 1.2)
I just have to put some css to make it look prettier (some images and
some alignment, nothing complicated :) )
So the lightbox is working fine, the rights are working fine, the
loading will be quickly if I have this methods....And that's all for now
because my mail is already long :))
Thanks.
Evelina
Hello all,
I just returned from classes. Vincent, for the first question: I will
change Thomas new methods, test them, put the css and make the patch today.
For the rest of the questions Sergiu is going to answer them.
Thanks,
Evelina
Hi guys,
This is my first post, so I am sorry if I am posting it to the wrong email list.
I am currently working on a PhD at the University of Western Australia and am interested in using a Wiki to manage all of my references/publications. I have used Confluence before, however I have decided to switch to XWiki because it's open source and I can make the changes I want (and contribute them back to the group).
For a bit of background I am currently a Senior Software Engineer for a software company in Perth Western Australia, and I have had experience using Hibernate, Velocity, Struts and some JEE architectural work.
What I plan to do is build two applications/plugins that will run inside XWiki with some interaction between them. I want to create a Class and associated editors for storing/retrieving all of my citations (in BibTeX format). Once I have done that I would also like to create an editor that allows me to create papers in LaTeX format and render them using the LaTeX -> XHTML converter, allowing me to work on my papers from home, work or uni.
To get started I have a few questions, I will start with just the one and I expect to be asking more as time goes on :-)
1. I have used the FAQ tutorial to create a new "Class" for rendering the FAQ pages however my BibTeX pages need a bit more structure than one class. Basically I expect two objects to be persisted in the database, a BibTeX header and an object that represents the type (in a map I assume). Each entry type (paper, confrence proceeding, book, URL etc.) has different fields that are mandatory and are able to be set. I imagine I would have a simple Interface called BibTexData that is associated with a BibTexEntry, and put the correct version in depending on what it is. It is feasable that I want to change the "type" after the page is created (as most decent BibTeX database applications allow me to do). How do I design this using the class editor wizard, or am I better off creating this structure manually in the hibernate mappings and code?
Cheers,
Aidan (aidos)
Hi,
The XE 1.2M2 release was supposed to happen today. However I'd like
to propose postponing it because:
1) It doesn't have many changes from 1.2M1 right now
2) I'm just back from the US and still jetlagged. In addition I'll be
busy on preparing Slides for a XWiki talk I'll be giving at the
Valtech Days + I'm writing an article about XWiki for TSS
3) We have some nice features coming up and almost ready that we can
include in 1.2M2:
- new rights management UI
- watchlist + email notification feature
- scheduler plugin
I thus propose to postpone it to next week (Monday the 22nd).
Here's my +1
Thanks
-Vincent
Hi everyone,
As Vincent and Evelina explained in respectives emails hi will not
resay all. Just that the dependency left for release XEM 1.0M2 is the
new rights/users/groups management system that will be integrated in
XE 1.1.2 (as for 1.2M2).
So I propose to move XEM 1.0M2 release to Tuesday 30th of October.
With this all other XEM releases date has to be moved too so :
- 1.0 M2: Tuesday 30th of October
- 1.0 M3: Monday 5th of November
- 1.0 RC1: Monday 12th of November
- 1.0 RC2: Monday 19th of November
2007/10/25, Vincent Massol <vincent(a)massol.net>:
> Hi everyone,
>
> Ok so here's the status:
>
> 1) Evelina who was working on the UI for the rights management was
> delayed. She's going to send an email later today to explain what's
> left and more importantly to give screenshots of what she's achieved
> so far. She's also going to send a patch for her work so far so that
> we can apply it and start playing with it and test it. She says
> she'll have fully finished everything for next Monday.
>
> 2) Scheduler is working except for a big issue. It's currently not
> able to restore jobs when the xwiki server is restarted. Well it can
> restore them but they're not executed under the right context. Jerome
> is working on this right now. Jerome do you think you'll be able to
> have something working by next Monday.
>
> 3) Jean-Vincent has committed the mailsender + watchlist feature. All
> is working ... except the mail sending. It seems there's some context
> issue in the scheduler job that sends the mail. It's possible it's
> related to 2) although not obvious they are the same issue. Jean-
> Vincent, do you have an idea if this can be fixed by next Monday.
> Would be great since we've skipped 1.2M3 (we're 2 weeks late on
> 1.2M2!) so with this feature I think we would have enough new
> features to start working on stabilizing everything and fixing bugs
> for the final 1.2 release.
>
> So the new release date for 1.2M2 is now planned for Tuesday 30th of
> October.
>
> Thanks everyone for making this happen :)
>
> Thanks
> -Vincent
>
> On Oct 23, 2007, at 9:48 PM, Vincent Massol wrote:
>
> > Some updates:
> >
> > Unfortunately we're late for the Rights Management implementation :(
> >
> > So the 1.2M2 release is delayed again. The scheduler plugin is ready
> > and is going to be released tomorrow or the day after.
> >
> > Any status on the watchlist+email notification JV? (I haven't checked
> > the commits yet). Is it ready for release and has it been tested?
> >
> > Thanks
> > -Vincent
> >
> > On Oct 15, 2007, at 6:21 PM, Vincent Massol wrote:
> >
> >> Hi,
> >>
> >> The XE 1.2M2 release was supposed to happen today. However I'd like
> >> to propose postponing it because:
> >> 1) It doesn't have many changes from 1.2M1 right now
> >> 2) I'm just back from the US and still jetlagged. In addition I'll
> >> be busy on preparing Slides for a XWiki talk I'll be giving at the
> >> Valtech Days + I'm writing an article about XWiki for TSS
> >> 3) We have some nice features coming up and almost ready that we
> >> can include in 1.2M2:
> >>
> >> - new rights management UI
> >> - watchlist + email notification feature
> >> - scheduler plugin
> >>
> >> I thus propose to postpone it to next week (Monday the 22nd).
> >>
> >> Here's my +1
> >>
> >> Thanks
> >> -Vincent
> >>
> >
> > _______________________________________________
> > 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
>
--
Thomas Mortagne
Hi,
I mark your words, and followed all the corrections you suggested.
i think that accessing objects attached to an XWiki page from inside a
plufgin is somthing very basic, that should be documented. I guess its ok to
redirect to the API guide, which has examples for velocity, since there is a
direct mapping from Velocity to Java. Developers should hopefully figure it
out without problems. So there should be a few more lines in the velocity
snippet of the API Guide, not just to set but also to get fields. Having the
java perspective as well might help, so you could have both a velocity and
java snippets on the guide.
Its a good idea to have an API guide, so as to structure the documentation
(instead of having everything in one huge page :-) )
i guess the most useful thing regarding API for plugins would be to have
the javadoc fully documented (one sentence for each method), but i dont know
what are your documentation standards
And do you think that documenting DWR in a tutorial is a good idea, since
it fulfills a basic need for xwiki developers ? Are you ok with that ? Its
not something from xpn, after all.
LMKYT, R (Let me know your thoughts, regards :-) )
And i will probably contribute some tutorials for plugins, since i am
working on xwiki for my final internship, and i ll have to write a report
anyway. So i might as well write info available for the community, instead
of putting together a useless report that nobody will reuse at my school.
Hi,
I'd like to write a tutorial about using DWR (www.getahead.org) )with XWiki
plugins. This is about third party software, but I think it can be something
that people creating plugins for xwiki might want to use. This way I can
share my experience (Ive been working with that for two months). I dont have
any interest with the guy who developped it, I just think its a good tool to
use. I havent heard of an equivalent solution developped by XPN. Though just
let me know if it exists.
Do you think its a good idea?
Im gonna write it, just delete it if you dont like, or tell me what to change.
See <a href="http://www.xwiki.org/xwiki/bin/view/DevGuide/PluginDWR">[
DevGuide.PluginDWR]</a>
Can you also review <a href="
http://www.xwiki.org/xwiki/bin/view/DevGuide/CreatingPlugins#HPluginlifecyc…">the
plugin creaton intro</a> ? Im not sure my last contrib was relevant/true. I
think that someone needed to start putting this kind of info in the
Developper guide, anyway.
--
Jean-Vivien MAURICE
Elève Ingénieur Informatique et Gestion, Polytech'Montpellier (ISIM)
E-mail : jvivien.m2(a)wanadoo.fr
Tél. : 0046 7 62 33 20 46
Skype : jean.vivien