Hi Devs,
I'm looking for someone with XWiki development experience who would also
happen to be living in Australia at the moment. Do you know someone who
does?
Thanks,
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
Hello XWiki developers,
can someone explain me what is the strategy to define the mime-type of
an attachment?
I see not configurable map nor any setter on the attachment types.
Is there any way I can enrich this or is it simply taking over the
mime-type provided the browser (which, too often, ends up being
application/octet-stream) ?
thanks in advance
paul
Hi XWiki Devs & Users,
It's roadmap time again!
Based on the previous roadmap, feedback on the lists and the results of the
survey we conducted (see
http://www.xwiki.org/xwiki/bin/view/Blog/Features+Survey+Results ), here's a
list of stuff we might want to work on in the XE 2.1 timeframe which will
last approximately until December 2009:
IMPROVEMENTS
On top of the usual bugfix work, here's a list of improvements we might want
to bring in the course of the release in order to stabilize the 2. branch as
much as we can:
- Colibri skin
- Clean the skin so that it's no longer a pile of code added on top of
Toucan
- Improve the ColorTheme page (theme catalog, theme creation)
- WYSIWYG editor
- Test and improve IE8 compatibility
- Test and improve Chrome / Safari compatibility
- Add more translations
- Rendering
- Internationalize
- Add translations
- Conversion to 2.0 syntax
- XAR 2.0 (notably Blog & Panels)
- Office importer
- The application shouldn't be displayed when the office server is not
running
- Wiki macros
- Textarea should be larger
- Importer
- Make the import create new versions of existing pages instead of
overwriting them
- *Search (one of the most asked for features in the survey)*
- Fix the bugs with our Lucene Search implementation to make it the
default one
- Finish implementing the new search UI
- Performance (one of the most asked for features in the survey)
- Clean and apply Denis Gervalle's patch related to attachment upload
memory handling
- Clean and apply Caleb James DeLisle's patch related to document
loading
- Keep working on making the skin lighter
- Other?
- User Profile UI
- Improve the watchlist UI
- Make the user profile look clearer
NEW FEATURES
We won't have the time to work on all of them, but here's a list of new
features we might want to consider working on:
- Skin -> revamp / move the action bar
- CAPTCHA Integration -> make CAPTCHAS available on login / comments
- Application Manager -> create applications descriptors, ability to
version applications
- Document Type Manager -> make XClass & application creation easy
through a nicer UI
- Invitation Manager -> make it easier to add users to the wiki (send an
email allowing account creation)
- Multipage Management tools -> create and export lists of pages
Feedback is welcome and appreciated.
Thanks,
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
Hello everybody,
this is my first post to the list, i'm also newbie with Xwiki. I was
about to post this same question myself but Caleb James DeLisle took the
lead:
>I was wondering if it would be worthwhile to try working on allowing
>objects to contain other objects as well as properties (like Java)
Put in other words, could we have Classes where one (or more) of its
properties are instances of other Classes? It seems from what i read on
http://platform.xwiki.org/xwiki/bin/view/DevGuide/DataModel
that the answer right now would be "no". Could someone shed some light
on why is it so (what's the reason behind)?
Thank you !
Guillem
Hi Devs,
right now the Office Importer feature is available through a button in the
toolbar of the WYSIWYG editor. I think it should be moved to the editor's
top menubar, next to "Macros". Here's the rationale:
- The toolbar has mostly text formatting button while the Office Importer
is a much bigger feature
- Other features that require opening a dialog box (link, images, tables,
macros) are located in the top menubar
The entry would have 2 subentries: paste document & import document.
WDYT?
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
Hi Marius,
I have updated the code you mention. And I find out I forget to copy
resources/js/xwiki/wysiwyg/xwe
from the place that I built to the server's resources/js/xwiki/wysiwyg/xwe.
Thank you for your help again!
Probably this results the problems below:
"It this a public web site? Can you create me a temporary account to debug
the problem?"
It is a server runs on campus (Miami University) network in order to protect
it from bad people. Thank you very much for helping me. I really
appreciate it.
"Can you install the Firebug Firefox extension?"
I have successfully installed in on WinXP PC, it seems not work on my vista
laptop. Here is the error that I could find under DOM tab:
$continue: Error: "throw $continue" is deprecated, use "return" instead
filename: "
http://wiki.burge.csi.muohio.edu:8080/xwiki/resources/js/prototype/prototyp…
"
lineNumber: 4725
message: ""throw $continue" is deprecated, use "return" instead"
name: "Error"
stack: "Error("\"throw $continue\" is deprecated, use \"return\"
instead")@:0\n@
http://wiki.burge.csi.muohio.edu:8080/xwiki/resources/js/prototype/prototyp…
\n"
I did not see any from Script tab.
And Here is the error message IE8 returns:
"
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64;
Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2;
.NET CLR 3.5.30729; CIBA;
staticlogin:product=cbpro09&act=login&info=ZmlsZW5hbWU9UG93ZXJ3b3JkMjAwOVByby4yNTI2OS40MDEwLmV4ZSZtYWM9NjQyMTZDODM0QTIyNDIyNkEzMEUxMjFEOEFFRTBEOTYmcGFzc3BvcnQ9JnZlcnNpb249MjAwOS4wNC4yOS4yLjI4MSZjcmFzaHR5cGU9MQ==&verify=550370cea5bed2cbf89407456ed93587;
.NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Timestamp: Thu, 1 Oct 2009 22:56:31 UTC
Message: 'isc' is undefined
Line: 7
Char: 1
Code: 0
URI:
http://wiki.burge.csi.muohio.edu:8080/xwiki/resources/js/smartclient/overwr…
Message: 'isc' is undefined
Line: 59
Char: 1
Code: 0
URI:
http://wiki.burge.csi.muohio.edu:8080/xwiki/bin/skin/resources/js/xwiki/xwi…
Message: 'Wysiwyg' is undefined
Line: 217
Char: 5
Code: 0
URI:
http://wiki.burge.csi.muohio.edu:8080/xwiki/bin/edit/Sandbox/TestPage1?edit…
Message: 'Wysiwyg' is undefined
Line: 256
Char: 1
Code: 0
URI:
http://wiki.burge.csi.muohio.edu:8080/xwiki/bin/edit/Sandbox/TestPage1?edit…
"
It's missing a lot of changes...
-Vincent
On Oct 2, 2009, at 12:00 AM, notifications(a)xwiki.org wrote:
> Hello Developers,
>
> This message is sent by XWiki. Here are the documents in your
> watchlist that have been modified since the last notification:
> <wiki.gif> xwiki
> <space.gif> XWiki
> <document.gif> XWikiNotifications XWiki.XWikiNotifications
>
> On 2009/10/01 15:47, the document has been modified by Developers
> (XWiki Notifications)
> <object.gif>XWiki.XWikiUsers
> <string.png>email:
> jerome@xwiki.comnotifications@xwiki.org
> <document.gif> XWiki Preferences XWiki.XWikiPreferences
>
> On 2009/10/01 16:18, the document has been modified by Jerome
> Velociter
> <object.gif>XWiki.XWikiPreferences
> <string.png>admin_email:
> notifications(a)xwiki.org
> <textarea.png>meta:
> <metadata.gif>author: XWiki.VincentMassol > XWiki.jvelociter
> <document.gif> jvdrean XWiki.jvdrean
>
> On 2009/10/01 15:45, the document has been modified by Jean-Vincent
> Drean
> <object.gif>XWiki.WatchListClass
> <textarea.png>wikis:
> ,xwiki,enterprise,workspaces
Hi all,
I propose we create a user on XWiki.org that will subscribe to daily
watchlist notifications on the xwiki.org wikis, with
notifications(a)xwiki.org as email address.
We can try to watch entire wikis, though we might get some noise on
certain wikis (for example with all users that are created on the main
wiki).
WDYT ?
+1 to try out this.
Jerome.
Hi Anca,
Be very very careful with ThreadLocal. It's very easy to make mistakes
and cause memory leaks. Actually I think you may have introduced one
already ;) (please do some web research on ThreadLocal you'll see it
has some caveats and they must absolutely be freed when the thread
exits).
I believe this needs to be discussed more to ensure it's the right way
and doesn't cause pbs.
Also we already have an ExecutionContext so I'm not sure why we need
this.
Can you please explain?
Thanks
-Vincent
On Oct 1, 2009, at 10:13 AM, lucaa (SVN) wrote:
> Author: lucaa
> Date: 2009-10-01 10:13:20 +0200 (Thu, 01 Oct 2009)
> New Revision: 24158
>
> Modified:
> platform/web/trunk/gwt/src/main/java/com/xpn/xwiki/gwt/api/server/
> XWikiServiceImpl.java
> platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/
> server/DefaultWysiwygService.java
> Log:
> XWIKI-4411: XWikiServiceImpl's xwiki context is not handled threadsafe
> * handled the prepared context in a ThreadLocal member.
>
>
> Modified: platform/web/trunk/gwt/src/main/java/com/xpn/xwiki/gwt/api/
> server/XWikiServiceImpl.java
> ===================================================================
> --- platform/web/trunk/gwt/src/main/java/com/xpn/xwiki/gwt/api/
> server/XWikiServiceImpl.java 2009-09-30 21:49:09 UTC (rev 24157)
> +++ platform/web/trunk/gwt/src/main/java/com/xpn/xwiki/gwt/api/
> server/XWikiServiceImpl.java 2009-10-01 08:13:20 UTC (rev 24158)
> @@ -66,7 +66,7 @@
> {
> private static final Log LOG = LogFactory.getLog(XWiki.class);
>
> - private XWikiContext context;
> + private ThreadLocal<XWikiContext> context;
>
> /**
> * We override the default processCall method in order to
> provide XWiki initialization before
> @@ -131,7 +131,7 @@
> }
>
> context.put("ajax", new Boolean(true));
> - this.context = context;
> + this.context.set(context);
> }
>
> private void initializeContainerComponent(XWikiContext context)
> @@ -168,7 +168,7 @@
>
> protected XWikiContext getXWikiContext()
> {
> - return this.context;
> + return this.context.get();
> }
>
> protected XWikiGWTException getXWikiGWTException(Exception e) {
>
> Modified: platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/
> wysiwyg/server/DefaultWysiwygService.java
> ===================================================================
> --- platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/
> server/DefaultWysiwygService.java 2009-09-30 21:49:09 UTC (rev 24157)
> +++ platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/
> server/DefaultWysiwygService.java 2009-10-01 08:13:20 UTC (rev 24158)
> @@ -302,14 +302,8 @@
> getXWikiContext().setDatabase(wikiName);
> }
> spaceNamesList =
> getXWikiContext().getWiki().getSpaces(getXWikiContext());
> - // get the blacklisted spaces from the session as
> they've been set in xwikivars.vm, when the page edited
> - // with this wysiwyg was loaded
> - // TODO: remove this when the public API will exclude
> them by default, or they'll be set in the config
> - List<String> blacklistedSpaces =
> - (ArrayList<String>)
> getThreadLocalRequest
> ().getSession().getAttribute("blacklistedSpaces");
> - if (blacklistedSpaces != null &&
> blacklistedSpaces.size() > 0) {
> - spaceNamesList.removeAll(blacklistedSpaces);
> - }
> + // remove the blacklisted spaces from the all spaces list
> + spaceNamesList.removeAll(getBlackListedSpaces());
> Collections.sort(spaceNamesList);
> } catch (XWikiException e) {
> e.printStackTrace();
> @@ -322,6 +316,26 @@
> }
>
> /**
> + * Helper function to retrieve the blacklisted spaces in this
> session, as they've been set in xwikivars.vm, when the
> + * page edited with this wysiwyg was loaded. <br />
> + * TODO: remove this when the public API will exclude them by
> default, or they'll be set in the config.
> + *
> + * @return the list of blacklisted spaces from the session
> + */
> + @SuppressWarnings("unchecked")
> + private List<String> getBlackListedSpaces()
> + {
> + // get the blacklisted spaces from the session
> + List<String> blacklistedSpaces =
> + (ArrayList<String>)
> getThreadLocalRequest
> ().getSession().getAttribute("blacklistedSpaces");
> + // always return a list, even if blacklisted spaces
> variable wasn't set
> + if (blacklistedSpaces == null) {
> + blacklistedSpaces = new ArrayList<String>();
> + }
> + return blacklistedSpaces;
> + }
> +
> + /**
> * {@inheritDoc}
> *
> * @see WysiwygService#getPageNames(String, String)
> @@ -379,12 +393,31 @@
> throws XWikiGWTException
> {
> try {
> + String quote = "'";
> + String doubleQuote = "''";
> // FIXME: this fullname comparison with the keyword does
> not contain the wiki name
> - String escapedKeyword = keyword.replaceAll("'",
> "''").toLowerCase();
> + String escapedKeyword = keyword.replaceAll(quote,
> doubleQuote).toLowerCase();
> + // add condition for the doc to not be in the list of
> blacklisted spaces.
> + // TODO: might be a pb with scalability of this
> + String noBlacklistedSpaces = "";
> + List<String> blackListedSpaces = getBlackListedSpaces();
> + if (!blackListedSpaces.isEmpty()) {
> + StringBuffer spacesList = new StringBuffer();
> + for (String bSpace : blackListedSpaces) {
> + if (spacesList.length() > 0) {
> + spacesList.append(", ");
> + }
> + spacesList.append(quote);
> + spacesList.append(bSpace.replaceAll(quote,
> doubleQuote));
> + spacesList.append(quote);
> + }
> + noBlacklistedSpaces = "doc.web not in (" +
> spacesList.toString() + ")";
> + }
> List<XWikiDocument> docs =
> getXWikiContext().getWiki().search(
> - "select distinct doc from XWikiDocument as doc
> where lower(doc.title) like '%" + escapedKeyword
> - + "%' or lower(doc.fullName) like '%" +
> escapedKeyword + "%'", count, start, getXWikiContext());
> + "select distinct doc from XWikiDocument as doc
> where " + noBlacklistedSpaces
> + + " and (lower(doc.title) like '%" +
> escapedKeyword + "%' or lower(doc.fullName) like '%"
> + + escapedKeyword + "%')", count, start,
> getXWikiContext());
> return prepareDocumentResultsList(docs);
> } catch (XWikiException e) {
> throw getXWikiGWTException(e);
> @@ -406,7 +439,7 @@
> for (XWikiDocument doc : docs) {
> com.xpn.xwiki.gwt.api.client.Document xwikiDoc = new
> com.xpn.xwiki.gwt.api.client.Document();
> xwikiDoc.setFullName(doc.getFullName());
> -
> xwikiDoc.setTitle(doc.getDisplayTitle(getXWikiContext()));
> +
> xwikiDoc.setTitle(doc.getRenderedTitle(Syntax.XHTML_1_0,
> getXWikiContext()));
> // FIXME: shouldn't use upload URL here, but since we
> don't want to add a new field...
> xwikiDoc.setUploadURL(doc.getURL(VIEW_ACTION,
> getXWikiContext()));
> results.add(xwikiDoc);
>
> _______________________________________________
> notifications mailing list
> notifications(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/notifications