Hi!
I think that after a some years using XWiki, I can now more or less
understand the magic behind it: documents are "populated" with XWiki
objects which make them behave in one or other way and content several
flavours of information. Logic can be also implemented in XWiki pages
facilitating different kinds of outputs. Thus, a XWiki user is "only" a
XWiki document where we instantiate XWikiUsers class. A XWiki group
is"only" a document where we instantiate XWikiGroups class.
It is really simple to use XWiki group as metaphor for many of the items we
have to deal with in the day-by-day managerial work: a research project
team, a consolidated research group or scientific publication authorship
can all be represented/stored as a XWiki group. That is a really simple
operation.
But what I'm not able to figure out how to store properties that
characterise a given combination of user and group.
Please, allow me to present three cases of use:
1) A person (represented by a XWiki user) can participate in several
research project teams with different roles (main researchers, teammate,
lab responsible, task responsible...)
2) A person (represented by a XWiki user) can participate in the authorship
of several scientific publications, but he/she will appear in a different
position in the authors list. And order matters in this case!
3) A person can participate in two scientific publications with different
filiations, let's call them different *hats*.
Case 1) is illustrated by...
http://atriumkm.idisantiago.es/bin/USiRModel/Projects
Red user participates in all three projects, but only in one of them act as
leader (a star on the chest). Light blue user participates in two projects,
as a leader in one of them. But her/his leadership comes from a different
source (different color of the star)
...and cases 2) and 3) by...
http://atriumkm.idisantiago.es/bin/USiRModel/Publications
Red user participates in all three publications BUT in a different position
(the order matters!) and on behalf of a different meta-organisation (white
or black hats).
A couple of simple questions:
a) If I use a XWiki group to represent a publication, how could I store the
position of each author if authorship is represented by the membership of
that group?
b) Red user belongs to at least five different groups: three publications
and two hats. How could I represent the hat associated with red user in
publications 02 and 03?
I ended up calling this concept "user alias": a user alias is a set of
XWiki documents only one of which includes an instance of XWikiUsers class.
I'm sure there is some "strong concept" in software design and data
modeling that apply to what I'm looking for, but I've not enough formation
as for looking for it. Your insights will be really welcome!
Please, does this make any sense for you? Any idea?
Thank you so much,
Ricardo
--
Ricardo RodrÃguez
Research Management and Promotion Technician
Technical Secretariat
Health Research Institute of Santiago de Compostela (IDIS)
http://www.idisantiago.es