Hi everyone,
I'd like test the waters and see what you'd feel about moving XWiki's source to GitHub.
Pros:
* Use Git instead of Subversion. Which means a better SCM especially wrt branching / diagnosins bugs (bissect) just to name 2
* More contributors since it's easy to fork/branch and we can see contributor's patches (pull requests) and apply them way more easily than with subversion
* More collaboration in general between committers and contributors
* A better SCM web site (check github.com - offers graphs/stats, views of forked/branched repos, etc)
* Good buzz for us (tech marketing)
* GitHub provides SVN integration (see https://github.com/blog/644-subversion-write-support) which means we can continue using SVN tools such as svnsearch, ohloh, our IDE integrations, etc
* Less admin work and less maintenance since this is handled by GitHub itself
* Good uptime on GitHub (probably at least as good as ours if not better)
* Improved developer spirit since most devs wants to start using Git
Cons:
* Have to learn a new SCM/new tools
* No integration of users with xwiki.org
* Import/reorg work to be done obviously
* Reliance on an external provider (but seen the other OSS projects there I'm not worried and there's no lock in since your have the repos spread on all users' machines)
IMO the pros heavily outweight the cons.
WDYT?
Thanks
-Vincent
On Mon, Mar 21, 2011 at 14:46, Caleb James DeLisle
<calebdelisle(a)lavabit.com> wrote:
>
>
> On 03/21/2011 05:20 AM, vmassol (SVN) wrote:
>> Author: vmassol
>> Date: 2011-03-21 10:20:45 +0100 (Mon, 21 Mar 2011)
>> New Revision: 35749
>>
>> Modified:
>> Â Â enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/DocumentCacheTest.java
>> Â Â enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/AbstractClusterHttpTest.java
>> Â Â enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/XWikiClusterTestSetup.java
>> Â Â enterprise/trunk/distribution-test/escaping-tests/src/test/it/org/xwiki/test/escaping/framework/SingleXWikiExecutor.java
>> Â Â enterprise/trunk/distribution-test/ldap-tests/src/test/it/org/xwiki/test/ldap/framework/XWikiLDAPTestSetup.java
>> Â Â enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/AllTests.java
>> Â Â enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/framework/AbstractHttpTest.java
>> Â Â enterprise/trunk/distribution-test/selenium-tests/src/test/it/org/xwiki/test/selenium/AllTests.java
>> Â Â enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/test/ui/framework/PersistentTestContext.java
>> Â Â enterprise/trunk/distribution-test/webdav-tests/src/test/it/org/xwiki/test/webdav/AllTests.java
>> Â Â enterprise/trunk/distribution-test/webstandards-tests/src/test/it/org/xwiki/test/webstandards/AllTests.java
>> Â Â enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/org/xwiki/test/wysiwyg/AllTests.java
>> Â Â enterprise/trunk/distribution-test/xmlrpc-tests/src/test/it/org/xwiki/test/xmlrpc/confluence/AllTests.java
>> Log:
>> XCOMMONS-2: Add JUnit4 Suite for starting/stopping XE + Running all JUnit tests in the current classloader
>>
>> Modified: enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/DocumentCacheTest.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/DocumentCacheTest.java     2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/DocumentCacheTest.java     2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -24,6 +24,7 @@
>> Â import org.apache.commons.httpclient.HttpStatus;
>> Â import org.apache.commons.httpclient.methods.GetMethod;
>> Â import org.apache.commons.httpclient.methods.PutMethod;
>> +import org.junit.*;
>
> I thought we didn't do that in tests, it will certainly make my life a lot easier.
I tough we didn't do that at all. Look like a mistake.
Vincent ?
>
> Caleb
>
>
>> Â import org.xwiki.rest.model.jaxb.Attachment;
>> Â import org.xwiki.rest.model.jaxb.Attachments;
>> Â import org.xwiki.rest.resources.attachments.AttachmentResource;
>> @@ -38,28 +39,30 @@
>> Â */
>> Â public class DocumentCacheTest extends AbstractClusterHttpTest
>> Â {
>> + Â Â @Test
>> Â Â Â public void testDocumentCacheSync() throws Exception
>> Â Â Â {
>> Â Â Â Â Â // 1) edit a page on XWiki 0
>>
>> Â Â Â Â Â switchXWiki(0);
>> Â Â Â Â Â setPageContent(getWiki(), "Test", "CacheSync", "content");
>> - Â Â Â Â assertEquals("content", getPageContent(getWiki(), "Test", "CacheSync"));
>> + Â Â Â Â Assert.assertEquals("content", getPageContent(getWiki(), "Test", "CacheSync"));
>>
>> Â Â Â Â Â // 2) modify content of the page on XWiki 1
>>
>> Â Â Â Â Â switchXWiki(1);
>> Â Â Â Â Â setPageContent(getWiki(), "Test", "CacheSync", "modified content");
>> - Â Â Â Â assertEquals("modified content", getPageContent(getWiki(), "Test", "CacheSync"));
>> + Â Â Â Â Assert.assertEquals("modified content", getPageContent(getWiki(), "Test", "CacheSync"));
>>
>> Â Â Â Â Â // TODO: give some time to JGroups to send the message
>>
>> Â Â Â Â Â // ASSERT) the content in XWiki 0 should be the one set than in XWiki 1
>>
>> Â Â Â Â Â switchXWiki(0);
>> - Â Â Â Â assertEquals("modified content", getPageContent(getWiki(), "Test", "CacheSync"));
>> + Â Â Â Â Assert.assertEquals("modified content", getPageContent(getWiki(), "Test", "CacheSync"));
>> Â Â Â }
>>
>> + Â Â @Test
>> Â Â Â public void testDocumentCacheSyncForAttachments() throws Exception
>> Â Â Â {
>> Â Â Â Â Â // 1) edit a page on XWiki 0
>> @@ -73,7 +76,7 @@
>> Â Â Â Â Â String attachmentUri =
>> Â Â Â Â Â Â Â Â Â getUriBuilder(AttachmentResource.class).build(getWiki(), "Test", "AttachementCacheSync", "file.ext").toString();
>> Â Â Â Â Â PutMethod putMethod = executePut(attachmentUri, "content", MediaType.TEXT_PLAIN, "Admin", "admin");
>> - Â Â Â Â assertEquals(getHttpMethodInfo(putMethod), HttpStatus.SC_CREATED, putMethod.getStatusCode());
>> + Â Â Â Â Assert.assertEquals(getHttpMethodInfo(putMethod), HttpStatus.SC_CREATED, putMethod.getStatusCode());
>>
>> Â Â Â Â Â // TODO: give some time to JGroups to send the message
>>
>> @@ -84,7 +87,7 @@
>> Â Â Â Â Â Â Â Â Â getUriBuilder(AttachmentsResource.class).build(getWiki(), "Test", "AttachementCacheSync").toString();
>>
>> Â Â Â Â Â GetMethod getMethod = executeGet(attachmentsUri);
>> - Â Â Â Â assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode());
>> + Â Â Â Â Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode());
>>
>> Â Â Â Â Â boolean found = false;
>>
>> @@ -96,6 +99,6 @@
>> Â Â Â Â Â Â Â }
>> Â Â Â Â Â }
>>
>> - Â Â Â Â assertTrue("Failed to find attachment", found);
>> + Â Â Â Â Assert.assertTrue("Failed to find attachment", found);
>> Â Â Â }
>> Â }
>>
>> Modified: enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/AbstractClusterHttpTest.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/AbstractClusterHttpTest.java     2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/AbstractClusterHttpTest.java     2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -19,16 +19,19 @@
>> Â */
>> Â package org.xwiki.test.cluster.framework;
>>
>> +import org.junit.*;
>> +import org.xwiki.test.integration.XWikiExecutor;
>> Â import org.xwiki.test.rest.framework.AbstractHttpTest;
>> -import org.xwiki.test.XWikiExecutor;
>>
>> Â /**
>> Â * Base class for REST based clustering integration test.
>> Â *
>> Â * @version $Id$
>> Â */
>> +// TODO: Fix this, it's wrong to reuse AbstractHttpTest from the REST Tests module
>> Â public abstract class AbstractClusterHttpTest extends AbstractHttpTest
>> Â {
>> + Â Â @Test
>> Â Â Â public void testRepresentation() throws Exception
>> Â Â Â {
>> Â Â Â }
>>
>> Modified: enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/XWikiClusterTestSetup.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/XWikiClusterTestSetup.java  2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/cluster-tests/src/test/it/org/xwiki/test/cluster/framework/XWikiClusterTestSetup.java  2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -23,11 +23,11 @@
>> Â import java.io.InputStream;
>> Â import java.util.Properties;
>>
>> +import org.xwiki.test.integration.XWikiExecutor;
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> +
>> Â import junit.framework.Test;
>>
>> -import org.xwiki.test.XWikiExecutor;
>> -import org.xwiki.test.XWikiTestSetup;
>> -
>> Â /**
>> Â * Set clustering configuration and start two instances of XWiki.
>> Â * <p>
>> @@ -47,7 +47,7 @@
>> Â Â Â /**
>> Â Â Â * {@inheritDoc}
>> Â Â Â *
>> - Â Â * @see org.xwiki.test.XWikiTestSetup#setUp()
>> + Â Â * @see XWikiTestSetup#setUp()
>> Â Â Â */
>> Â Â Â @Override
>> Â Â Â protected void setUp() throws Exception
>>
>> Modified: enterprise/trunk/distribution-test/escaping-tests/src/test/it/org/xwiki/test/escaping/framework/SingleXWikiExecutor.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/escaping-tests/src/test/it/org/xwiki/test/escaping/framework/SingleXWikiExecutor.java  2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/escaping-tests/src/test/it/org/xwiki/test/escaping/framework/SingleXWikiExecutor.java  2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -19,9 +19,8 @@
>> Â */
>> Â package org.xwiki.test.escaping.framework;
>>
>> -import org.xwiki.test.XWikiExecutor;
>> +import org.xwiki.test.integration.XWikiExecutor;
>>
>> -
>> Â /**
>> Â * Starts and stops exactly one XWiki instance. The methods {@link #start()} and {@link #stop()}
>> Â * allow to call them multiple times, starting and stopping the server only on the first and
>>
>> Modified: enterprise/trunk/distribution-test/ldap-tests/src/test/it/org/xwiki/test/ldap/framework/XWikiLDAPTestSetup.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/ldap-tests/src/test/it/org/xwiki/test/ldap/framework/XWikiLDAPTestSetup.java  2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/ldap-tests/src/test/it/org/xwiki/test/ldap/framework/XWikiLDAPTestSetup.java  2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -21,10 +21,10 @@
>>
>> Â import java.util.Properties;
>>
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> +
>> Â import junit.framework.Test;
>>
>> -import org.xwiki.test.XWikiTestSetup;
>> -
>> Â /**
>> Â * JUnit TestSetup extension that modify xwiki.cfg file to use LDAP as authentication system. This class is meant to
>> Â * wrap a JUnit TestSuite. For example:
>>
>> Modified: enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/AllTests.java    2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/AllTests.java    2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -19,32 +19,15 @@
>> Â */
>> Â package org.xwiki.test.rest;
>>
>> -import org.junit.AfterClass;
>> -import org.junit.BeforeClass;
>> -import org.junit.extensions.cpsuite.ClasspathSuite;
>> Â import org.junit.runner.RunWith;
>> -import org.xwiki.test.XWikiExecutor;
>> +import org.xwiki.test.integration.XWikiExecutorSuite;
>>
>> Â /**
>> Â * Runs all functional tests found in the classpath and start/stop XWiki before/after the tests (only once).
>> Â *
>> Â * @version $Id$
>> Â */
>> -(a)RunWith(ClasspathSuite.class)
>> +(a)RunWith(XWikiExecutorSuite.class)
>> Â public class AllTests
>> Â {
>> - Â Â /** This starts and stops the wiki engine. */
>> - Â Â private static final XWikiExecutor executor = new XWikiExecutor(0);
>> -
>> - Â Â @BeforeClass
>> - Â Â public static void init() throws Exception
>> - Â Â {
>> - Â Â Â Â executor.start();
>> - Â Â }
>> -
>> - Â Â @AfterClass
>> - Â Â public static void shutdown() throws Exception
>> - Â Â {
>> - Â Â Â Â executor.stop();
>> - Â Â }
>> Â }
>>
>> Modified: enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/framework/AbstractHttpTest.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/framework/AbstractHttpTest.java   2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/rest-tests/src/test/it/org/xwiki/test/rest/framework/AbstractHttpTest.java   2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -56,7 +56,7 @@
>> Â import org.xwiki.rest.resources.pages.PageResource;
>> Â import org.xwiki.rest.resources.wikis.WikisResource;
>> Â import org.xwiki.test.AbstractComponentTestCase;
>> -import org.xwiki.test.XWikiExecutor;
>> +import org.xwiki.test.integration.XWikiExecutor;
>>
>> Â public abstract class AbstractHttpTest extends AbstractComponentTestCase
>> Â {
>>
>> Modified: enterprise/trunk/distribution-test/selenium-tests/src/test/it/org/xwiki/test/selenium/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/selenium-tests/src/test/it/org/xwiki/test/selenium/AllTests.java    2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/selenium-tests/src/test/it/org/xwiki/test/selenium/AllTests.java    2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -25,8 +25,7 @@
>> Â import junit.framework.TestCase;
>> Â import junit.framework.TestSuite;
>>
>> -import org.xwiki.test.XWikiTestSetup;
>> -
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> Â import org.xwiki.test.selenium.framework.AbstractXWikiTestCase;
>> Â import org.xwiki.test.selenium.framework.XWikiSeleniumTestSetup;
>>
>>
>> Modified: enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/test/ui/framework/PersistentTestContext.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/test/ui/framework/PersistentTestContext.java   2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/test/ui/framework/PersistentTestContext.java   2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -21,7 +21,7 @@
>>
>> Â import org.openqa.selenium.WebDriver;
>> Â import org.openqa.selenium.firefox.FirefoxDriver;
>> -import org.xwiki.test.XWikiExecutor;
>> +import org.xwiki.test.integration.XWikiExecutor;
>>
>> Â /**
>> Â * This is a container for holding all of the information which should persist throughout all of the tests.
>>
>> Modified: enterprise/trunk/distribution-test/webdav-tests/src/test/it/org/xwiki/test/webdav/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/webdav-tests/src/test/it/org/xwiki/test/webdav/AllTests.java  2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/webdav-tests/src/test/it/org/xwiki/test/webdav/AllTests.java  2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -19,15 +19,12 @@
>> Â */
>> Â package org.xwiki.test.webdav;
>>
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> +
>> Â import junit.framework.Test;
>> Â import junit.framework.TestCase;
>> Â import junit.framework.TestSuite;
>>
>> -import org.xwiki.test.webdav.DefaultWebDAVTest;
>> -import org.xwiki.test.XWikiTestSetup;
>> -import org.xwiki.test.webdav.RootViewTest;
>> -import org.xwiki.test.webdav.TempFileTest;
>> -
>> Â /**
>> Â * A class listing all the Functional tests to execute. We need such a class (rather than
>> Â * letting the JUnit Runner discover the different TestCases classes by itself) because we want to
>>
>> Modified: enterprise/trunk/distribution-test/webstandards-tests/src/test/it/org/xwiki/test/webstandards/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/webstandards-tests/src/test/it/org/xwiki/test/webstandards/AllTests.java    2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/webstandards-tests/src/test/it/org/xwiki/test/webstandards/AllTests.java    2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -23,7 +23,7 @@
>> Â import junit.framework.TestCase;
>> Â import junit.framework.TestSuite;
>>
>> -import org.xwiki.test.XWikiTestSetup;
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> Â import org.xwiki.validator.RSSValidator;
>> Â import org.xwiki.validator.XHTMLValidator;
>> Â import org.xwiki.validator.XWikiValidator;
>>
>> Modified: enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/org/xwiki/test/wysiwyg/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/org/xwiki/test/wysiwyg/AllTests.java 2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/org/xwiki/test/wysiwyg/AllTests.java 2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -22,7 +22,7 @@
>> Â import junit.framework.Test;
>> Â import junit.framework.TestCase;
>>
>> -import org.xwiki.test.XWikiTestSetup;
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> Â import org.xwiki.test.selenium.framework.AbstractXWikiTestCase;
>> Â import org.xwiki.test.selenium.framework.ColibriSkinExecutor;
>> Â import org.xwiki.test.selenium.framework.XWikiSeleniumTestSetup;
>>
>> Modified: enterprise/trunk/distribution-test/xmlrpc-tests/src/test/it/org/xwiki/test/xmlrpc/confluence/AllTests.java
>> ===================================================================
>> --- enterprise/trunk/distribution-test/xmlrpc-tests/src/test/it/org/xwiki/test/xmlrpc/confluence/AllTests.java     2011-03-21 09:19:16 UTC (rev 35748)
>> +++ enterprise/trunk/distribution-test/xmlrpc-tests/src/test/it/org/xwiki/test/xmlrpc/confluence/AllTests.java     2011-03-21 09:20:45 UTC (rev 35749)
>> @@ -22,7 +22,8 @@
>> Â import junit.framework.Test;
>> Â import junit.framework.TestCase;
>> Â import junit.framework.TestSuite;
>> -import org.xwiki.test.XWikiTestSetup;
>> +
>> +import org.xwiki.test.integration.XWikiTestSetup;
>> Â import org.xwiki.test.xmlrpc.*;
>> Â import org.xwiki.test.xmlrpc.AttachmentsTest;
>> Â import org.xwiki.test.xmlrpc.PagesTest;
>>
>> _______________________________________________
>> notifications mailing list
>> notifications(a)xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/notifications
>>
>
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
Thomas Mortagne
Hi Devs,
I would like to improve Wiki Importer sandbox project, by making few changes
to the design to widen it scope of usage, and make sure its useful to the
community.
In the existing one (
http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/xwiki-wikiimporter/), I
have implemented import from MediaWiki XML.
Limitations:
* listener implementation is tightly coupled with storage ( Importing/Saving
pages or other objects into XWiki).
* listener doesnt include all the xwiki related events.
* No separate storage component, that can enable both imports and exports (
e.g. export the parsed content into XAR ).
Existing documentation on WikiImporter :
http://gsoc.myxwiki.org/xwiki/bin/view/Import+Export+other+wikis/WebHomehttp://gsoc.myxwiki.org/xwiki/bin/view/Import+Export+other+wikis/Wiki+Impor…
Can i move the design documentation to Design Proposal wiki.?
As Thomas suggested, it will be good to rename wiki importer to converter as
it is not limited to importing only, So am planning to change it to
WikiConverter.
WDYT?
Arun Reddy
Arun Reddy
Hi, everyone:
I am James Xu, and now I am an undergraduate student. I would like to
join GSoc this year. I am interested in the idea "Auto Completion in
Content Editors".
I have more than 4 years web developemnt, php for 4 years, and java
for 3 years. For java web development, I used
SSH(struts2+spring+hibernate) often,
and I also have project experience using velocity as view layer.
Beside, I am very interested in front-end design, and have more than 3
years experience in javascript development, I am the one of the early
user of
dojo since the 0.9 version, and I am now using jquery a lot, I am also
a big fans of google, I start getting to know GWT this year, but I
think I would
be a quick learner based on the kownledge gained from other tools and
my own experiences.
Though I don't have experience in developing rich text editor before,
but I had used a lot of them, and also I have done one project related
to
auto completion for facted search input form of the resource search system.
I read some documents of the idea page, I am attracted by the
autocompletion functions for a web rich text editor, I think we can
refer to the eclipse
HTML editor, when you first typing "<", there will be a suggest box
for next input of html tags, and it will be narrowed when you type
more. I think
it can be applied to xwiki editor for various syntax.
For example, if user type"{{", then it should suggest him a list
like"code,box..."which are the macro tags started with "{{", when user
type "enter",
then it will insert to the text area the following:
"{{box cssClass="" title="" width=""}} {{/box}}"
I think this will save the time for user to type all the macro tags by them own.
Another useful function could be the same as described in the idea
page, when user type "[[" it will auto suggest the documents of the
wiki.
However, some of the xwiki syntaxes are different from the enclosure
style of HTML tags, and some function looks very intuitive, it will be
very
confusing when using it, so I should think more about it.
Hope you all can give me some tips to complete this idea. thank you very much
and I would like to participate in GSoC-2011. I am mainly
interested in contributing to the project idea "Mobile Skin for XWiki
Enterprise". I have been working on web development for the past two years
and developed a couple of websites. I have a good knowledge of HTML,XHTML
and CSS , I also know PHP and am learning Javascript. If someone could help
me regarding this , I would be really thankful.
--
Best wishes,
许凌志(Jame Xu)
MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University
Hey
I am Supreet and I would like to participate in GSoC-2011. I am mainly
interested in contributing to the project idea "Mobile Skin for XWiki
Enterprise". I have been working on web development for the past two years
and developed a couple of websites. I have a good knowledge of HTML,XHTML
and CSS , I also know PHP and am learning Javascript. If someone could help
me regarding this , I would be really thankful.
Hi,
I've tried the dashbord on 3.0 snapshot and could not make the "Add
Gadget" function work on an empty dashboard.
From what I see the issue seems to be in the wysiwyg code. I got the
dialog box from the wysiwyg, when clicking on Insert Gadget" I got an
exception:
uncaught exception: Class$dF: One or more exceptions caught, see full
set in UmbrellaException#getCauses
at
function nr(){try{null.a()}catch(b){return b}}
This issue seemed to only happen with an empty dashboard macro (with not
gadget yet added).
I think we need to work on two things for each feature that we are
developping:
1/ Having a status of where we are:
In the case of Dashboard, I think that's updating this page:
http://dev.xwiki.org/xwiki/bin/view/Design/Gadget+Scenarios+Prioritized
2/ Write a test plan and have Sorin include the testing of new features
in his testing.
For that he needs to know how to test and what is supposed to be
there/not there.
Concerning the development priorities, I think for the next period of
development on the dashboard we need to focus on wiring the UI for
"beginners", making it easy for them to create their first dashboard. In
my view this is in priority:
- Create page with a dashboard macro (In the Add Menu in XE)
- Go to edit more (I'm still convinced that we need the dashboard
editing in "view" mode and not in "inline" mode)
- Add a column in your dashboard
- Editing a dashboard
Also for the 3.1 timeframe I think we need to have some brainstorm to
add some more "Dashboard" friendly macros/gadgets to make dashboards
more usefull and interesting for users, but that's another story.
Right now I think the most important is that we agree on the priorities
for the next step and that for 3.0 we have a simple but coherent
dashboard feature.
Ludovic
--
Ludovic Dubost
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost
Hi,
Right now logs go to a file on the filesystem. However this is not right since most logs are application logs and should be visible to wiki developers. For ex, if I use a deprecated API, I need to see it. It shouldn't go to admins only and shouldn't "pollute" the system logs.
Hence I believe we need a Log Console available somewhere (we could make it avail in the Admin UI FTM).
I'd like to discuss an implementation idea I've had this morning:
* Send application logs as Observation Events and make the available in the Activity Stream (AS)
Pros:
* Infrastructure already in place
* Fits the AS goal: temporary information and is purged regularly
* (Of course the Activity gadget would not display them)
* They can be sent remotely as remote events in the future; this allows implementing a remote console to monitor an XE or XEM from a distance
Cons:
* We need to assess the performance risk and more generally we need to make the AS scalable (I don't think it is now).
* 2 ideas for scaling up the Observation/AS:
1) Have the Observation Manager save events to be notified into a Queue and have one or several separate threads take those events and send them to listeners. Right now if one listener takes time in its onEvent() method it slows down the whole chain since they are called serially. Note that if we want even better scalability, the Queue could be stored externally to XWiki (a JMS queue for ex) and scalability can be achieved by app server instances listening to this queue to process it.
2) Have a way to tell the AS what storage to use for specific Event Types. For example the AS could use an in-memory storage for Log Events while using a DB storage for other events. This would be useful since I don't think we really need to store logs in the DB. Note that the cache could be indexed on the message so only one instance of each log message is preserved (no need for dups), possibly with a counter to mention how many of them there were (that's an optimization).
I believe 2) might be enough for performances in a first implementation of the log console.
WDYT?
Thanks
-Vincent
Hi Sergiu,
I would have thought that users would only need the delete (or edit but I prefer delete) rights to remove comments.
Could you explain the rationale?
BTW for logged in users, what do they need now?
Thanks
-Vincent
On Mar 18, 2011, at 12:36 AM, sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2011-03-18 00:36:44 +0100 (Fri, 18 Mar 2011)
> New Revision: 35698
>
> Modified:
> platform/web/trunk/standard/src/main/webapp/templates/commentsinline.vm
> Log:
> XWIKI-4842: Issues on Preview/Edit Comments for Unregistered Users
> Guests should not be allowed to delete comments unless they have admin rights.
>
> Modified: platform/web/trunk/standard/src/main/webapp/templates/commentsinline.vm
> ===================================================================
> --- platform/web/trunk/standard/src/main/webapp/templates/commentsinline.vm 2011-03-17 23:29:08 UTC (rev 35697)
> +++ platform/web/trunk/standard/src/main/webapp/templates/commentsinline.vm 2011-03-17 23:36:44 UTC (rev 35698)
> @@ -151,7 +151,7 @@
> <span class="commenttool commentedit"><a class="edit" href="$doc.getURL('view', "viewer=comments&number=${comment.number}&xredirect=$xredirect")" title="$msg.get('core.viewers.comments.edit')">$msg.get('core.viewers.comments.edit')</a></span>
> #end
> #end
> - #if ($hasEdit)
> + #if ($hasAdmin || (!$isGuest && $hasEdit && $comment.author == $xcontext.user))
> <span class="commenttool commentdelete"><a class="delete" href="$doc.getURL('objectremove', "form_token=$!{services.csrf.getToken()}&classname=${xCommentClass}&classid=${comment.number}&xredirect=$xredirect")" title="$msg.get('core.viewers.comments.delete')">$msg.get('core.viewers.comments.delete')</a></span>
> #end
> </span>## commenttools