Hi,
On Jan 20, 2009, at 11:33 AM, Jean-Vincent Drean wrote:
Hi devs,
There are 4 votes required, see bellow.
1/ UI. See the screenshot at
http://incubator.myxwiki.org/xwiki/bin/view/Mockups/Children
Note that this list comes along with a generic way of building
spaces/pages/attachment/comments lists (ul) in our skin files.
Here's my +1
Three questions:
1) Is the children information better located in a separate tab or
under the Information tab?
2) Shouldn't we reuse our upcoming Treeview component for implementing
the children information. We could make that Treeview component take a
base document and display all children of that base document. If the
user has edit rights then he would be allowed to drag and drop
Treeview nodes around, reorganizing child pages directly.
3) Are we not starting to have too many tabs? (hence question 1)
above). This is an open question. I don't know the answer.
Otherwise +1 in general.
2/ Add a getChildren() method to XWikiDocument and
Document (API).
Rationale: XWiki is a wiki and the parent/child relationship should
be made more visible and easy to display in order to make it useful. I
know we should try not to put new methods in our APIs but IMHO this
should have been there from the beginning.
Proposal:
{{code}}
Document.java
public List<String> getChildren() throws XWikiException
{
return this.doc.getChildren(getXWikiContext());
}
XWikiDocument.java
public List<String> getChildren(XWikiContext context) throws
XWikiException
{
String hql ="select doc.fullName from XWikiDocument doc " +
"where doc.parent='" + getFullName() + "' order by
doc.space, doc.name";
return context.getWiki().search(hql, context);
}
{{/code}}
Note: I've put doc.space and doc.name in the order by clause since
getting pages in the 'absolute' alphabetical order afterwards is easy
using util.sort while the contrary is not true.
Here's my +1
+1
3/ Add a $blacklistedSpaces list in xwikivars.vm.
Rationale: avoid
duplicates; this list is already present in some panels and pages
since it is a common need.
Proposal:
#set($blacklistedSpaces = ["Import", "Panels", "Scheduler",
"Stats",
"XAppClasses", "XAppSheets", "XAppTemplates",
"XWiki"])
Here's my +1
Wouldn't it be better to implement this as Sergiu has started doing
for pages (hidden documents). We could decide that if the WebHome for
a space is hidden then the whole space is hidden for example.
4/ Don't display the number of children in tab.
Rationale: limit the
number of HQL queries made on the view action.
Here's my +1
+1
-Vincent
http://xwiki.com
http://xwiki.org
http://massol.net