2.1.1 of course :)
JV.
On Mon, Dec 21, 2009 at 3:23 PM, Jean-Vincent Drean <jv(a)xwiki.com> wrote:
> Hi,
>
> I'd like to release XE and XEM 2.1.1 tomorrow. 4 important bugs have
> been fixed since 2.1:
>
> Â - XWIKI-4575 : Horizontal ruler breaks the display of the WYSIWYG
> menu bar and toolbox
> Â - XWIKI-4681 : Attachments deletion has no effect before a restart
> Â - XWIKI-4679 Â : Can't select the macro after inserting it (WYSIWYG)
> Â - XWIKI-4688 Â : Macro disappears after editing its properties (WYSIWYG)
>
> Here's my +1.
>
> Thanks,
> JV.
>
Hi,
I'd like to release XE and XEM 2.1.1 tomorrow. 4 important bugs have
been fixed since 2.1:
- XWIKI-4575 : Horizontal ruler breaks the display of the WYSIWYG
menu bar and toolbox
- XWIKI-4681 : Attachments deletion has no effect before a restart
- XWIKI-4679 : Can't select the macro after inserting it (WYSIWYG)
- XWIKI-4688 : Macro disappears after editing its properties (WYSIWYG)
Here's my +1.
Thanks,
JV.
Hi devs,
I'm still working on the Model Reference domain. We've brainstormed
with Thomas and we'd like to propose replacing the current
ModelContext.getCurrentDocumentName() by
ModelContext.getCurrentEntityReference() (which returns an
EntityReference).
The idea is that a URL could target a document but also a wiki only
(e.g the REST API odes that), or a given space only, or even an object
or a property. This would mean we would need to have
getCurrentDocumentReference() in addition to all the others:
getCurrentWikiReference(), getCurrentSpaceReference(). It would also
mean a lot of them would be set to null. Last it would mean different
ways to access the same information (e.g.
getCurrentDocumentReference.getWikiReference() vs
getCurrentWikiReference()).
We would also add a EntityReference.extractReference(EntityType type)
method in order to make it easy to extract information from the a
reference path.
For example to extract the Wiki from an entity reference:
WikiReference wikiRef =
context.getCurrentEntityReference(EntityType.WIKI);
if (wikiRef != null) ....
WDYT?
Thanks
-Vincent
Hi devs,
Currently the getDocument method always goes to the storage to retrieve
the document, even if the same document has just been retrieved. This
means that the following code will not work:
#set($d = $xwiki.getDocument('X'))
$d.setTitle('the title')
$xwiki.getDocument('X').getTitle() # will not print 'the title'
I'd like to change getDocument so that it first searches in a map of
used documents in the current context. This means the following:
- getDocument searches in XWikiContext.usedDocuments (or better, in the
ExecutionContext)
- if found, return the value from there
- if not, go to the storage, return it to the caller
- when the document is changed for the first time, i.e. when
api.Document.getDoc() is called, clone the original document and put it
in usedDocuments
- as a special case, PreviewAction also puts the updated context
document in usedDocuments
This means that consecutive calls for retrieving a (changed) document
will always return the same object. This prevents possible preview bugs,
like http://jira.xwiki.org/jira/browse/XABLOG-14 or
http://jira.xwiki.org/jira/browse/XWIKI-4689
Yet this is an important behavior change. Do you think anybody is using
this "feature", and actually expects the above code example to work as
it does now?
Also, we must be careful with the performance, since this new map could
get big, holding all the documents in the database. Perhaps a LRU
fixed-size map would be better, although this breaks the uniqueness
guarantee.
So, WDYT?
1. Should we introduce this cache?
2. Should it be limited in size?
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi:
I'm updating from 2.1M1 to 2.1 Final release, and encountered an
error. Please someone help me out. Many thanks.
I did the following things.
1. Export everything from 2.1M1 to backup.xar
2. Import backup.xar to 2.1Final
3. Import official XE XAR, effectively overwrite the things in
backup.xar, with the exception of XWiki.XWikiPreference and
***.WebPreference.
4. So far so fine. But after restarting the server, I encounter the
following error:
HTTP ERROR 500
Problem accessing /xwiki/bin/view/Main/. Reason:
Error number 3 in 0: Could not initialize main XWiki context
Wrapped Exception: Error number 3001 in 3: Cannot load class
com.xpn.xwiki.store.migration.hibernate.XWikiHibernateMigrationManager
from param xwiki.store.migration.manager.class
Wrapped Exception: Error number 0 in 3: Exception while hibernate execute
Wrapped Exception: Could not create a DBCP pool. There is an error in
the hibernate configuration file, please review it.
--
-- Zhaolin Feng
-- www.mapbar.com
-- Currahee! We stand alone together!
On 12/18/2009 01:36 PM, Reto Hotz wrote:
> Hi,
>
> FYI: We have experienced problems running XWiki 2.1 on Glassfish 2.1.1
> (see stacktrace at the end).
> Our final solution was to replace the bundled cglib-2.1_3.jar with the
> newest cglib-2.2.jar
So the solution is to also update it in the default distribution, right?
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
On Sun, Dec 20, 2009 at 16:44, asiri <platform-notifications(a)xwiki.org> wrote:
> Author: asiri
> Date: 2009-12-20 16:44:32 +0100 (Sun, 20 Dec 2009)
> New Revision: 25854
>
> Added:
> Â platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/OfficeImporterVelocityBridge.java
> Removed:
> Â platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityBridge.java
> Modified:
> Â platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityContextInitializer.java
> Log:
> [misc] improving officeimporter code - step 1
>
> * Moved OfficeImporterVelocityBridge class out from org.xwiki.officeimporter.internal package into org.xwiki.officeimporter package since a velocity bridge represents a public API.
>
> Added: platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/OfficeImporterVelocityBridge.java
> ===================================================================
> --- platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/OfficeImporterVelocityBridge.java              (rev 0)
> +++ platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/OfficeImporterVelocityBridge.java  2009-12-20 15:44:32 UTC (rev 25854)
> @@ -0,0 +1,172 @@
> +/*
> + * See the NOTICE file distributed with this work for additional
> + * information regarding copyright ownership.
> + *
> + * This is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU Lesser General Public License as
> + * published by the Free Software Foundation; either version 2.1 of
> + * the License, or (at your option) any later version.
> + *
> + * This software is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this software; if not, write to the Free
> + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> + */
> +package org.xwiki.officeimporter;
> +
> +import java.io.ByteArrayInputStream;
> +import java.util.Map;
> +
> +import org.xwiki.bridge.DocumentAccessBridge;
> +import org.xwiki.component.logging.Logger;
> +import org.xwiki.component.manager.ComponentManager;
> +import org.xwiki.context.Execution;
> +import org.xwiki.model.DocumentNameFactory;
> +
> +/**
> + * A bridge between velocity and office importer.
> + *
> + * @version $Id: OfficeImporterVelocityBridge.java 24508 2009-10-15 10:05:22Z asiri $
> + * @since 1.8M1
> + */
> +public class OfficeImporterVelocityBridge
> +{
> + Â Â /**
> + Â Â * The key used to place any error messages while importing office documents.
> + Â Â */
> + Â Â public static final String OFFICE_IMPORTER_ERROR = "OFFICE_IMPORTER_ERROR";
> +
> + Â Â /**
> + Â Â * The {@link Execution} component.
> + Â Â */
> + Â Â private Execution execution;
> +
> + Â Â /**
> + Â Â * Internal {@link OfficeImporter} component.
> + Â Â */
> + Â Â private OfficeImporter importer;
> +
> + Â Â /**
> + Â Â * The {@link DocumentAccessBridge} component.
> + Â Â */
> + Â Â private DocumentAccessBridge docBridge;
> +
> + Â Â /**
> + Â Â * Used for converting string document names to {@link DocumentName} instances.
> + Â Â */
> + Â Â private DocumentNameFactory nameFactory;
> +
> + Â Â /**
> + Â Â * The {@link Logger} instance.
> + Â Â */
> + Â Â private Logger logger;
> +
> + Â Â /**
> + Â Â * Default constructor.
> + Â Â *
> + Â Â * @param componentManager used to lookup for other necessary components.
> + Â Â * @param logger logger.
> + Â Â */
> + Â Â public OfficeImporterVelocityBridge(ComponentManager componentManager, Logger logger)
> + Â Â {
> + Â Â Â Â this.logger = logger;
> + Â Â Â Â try {
> + Â Â Â Â Â Â this.execution = componentManager.lookup(Execution.class);
> + Â Â Â Â Â Â this.importer = componentManager.lookup(OfficeImporter.class);
> + Â Â Â Â Â Â this.docBridge = componentManager.lookup(DocumentAccessBridge.class);
> + Â Â Â Â Â Â this.nameFactory = componentManager.lookup(DocumentNameFactory.class);
> + Â Â Â Â } catch (Exception ex) {
> + Â Â Â Â Â Â logger.error("Error while initializing office importer velocity bridge.", ex);
Shouldn't it be an exception instead of a log ? Since this class
depends on this component you should not be able to created it if one
of these is missing like when you create a component.
> + Â Â Â Â }
> + Â Â }
> +
> + Â Â /**
> + Â Â * Imports the passed Office document into the target wiki page.
> + Â Â *
> + Â Â * @param fileContent the binary content of the input document.
> + Â Â * @param fileName the name of the source document (should have a valid extension since the extension is used to
> + Â Â * Â Â Â Â Â Â find out the office document's format).
> + Â Â * @param targetDocument the name of the resulting wiki page.
> + Â Â * @param options the optional parameters for the conversion.
> + Â Â * @return true if the operation was a success.
> + Â Â */
> + Â Â public boolean importDocument(byte[] fileContent, String fileName, String targetDocument,
> + Â Â Â Â Map<String, String> options)
> + Â Â {
> + Â Â Â Â boolean success = false;
> + Â Â Â Â try {
> + Â Â Â Â Â Â validateRequest(targetDocument, options);
> + Â Â Â Â Â Â importer.importStream(new ByteArrayInputStream(fileContent), fileName, targetDocument, options);
> + Â Â Â Â Â Â success = true;
> + Â Â Â Â } catch (OfficeImporterException ex) {
> + Â Â Â Â Â Â logger.error(ex.getMessage(), ex);
> + Â Â Â Â Â Â execution.getContext().setProperty(OFFICE_IMPORTER_ERROR, ex.getMessage());
> + Â Â Â Â } catch (Exception ex) {
> + Â Â Â Â Â Â logger.error(ex.getMessage(), ex);
> + Â Â Â Â Â Â setErrorMessage("Internal error while finalizing the target document.");
> + Â Â Â Â }
> + Â Â Â Â return success;
> + Â Â }
> +
> + Â Â /**
> + Â Â * @return an error message set inside current execution (during import process) or null.
> + Â Â */
> + Â Â public String getErrorMessage()
> + Â Â {
> + Â Â Â Â return (String) execution.getContext().getProperty(OFFICE_IMPORTER_ERROR);
> + Â Â }
> +
> + Â Â /**
> + Â Â * Utility method for setting an error message inside current execution.
> + Â Â *
> + Â Â * @param message error message.
> + Â Â */
> + Â Â private void setErrorMessage(String message)
> + Â Â {
> + Â Â Â Â execution.getContext().setProperty(OFFICE_IMPORTER_ERROR, message);
> + Â Â }
> +
> + Â Â /**
> + Â Â * @return any error messages thrown while importing.
> + Â Â * @deprecated use {@link #getErrorMessage()} instead since 2.2M1.
> + Â Â */
> + Â Â @Deprecated
> + Â Â public String getLastErrorMessage()
> + Â Â {
> + Â Â Â Â return getErrorMessage();
> + Â Â }
> +
> + Â Â /**
> + Â Â * Checks if this request is valid. For a request to be valid, the target document should be editable by the current
> + Â Â * user. And if this is not an append request, the target document should not exist.
> + Â Â *
> + Â Â * @param targetDocument the target document.
> + Â Â * @param options additional parameters passed in for the import operation.
> + Â Â * @throws OfficeImporterException if the request is invalid.
> + Â Â */
> + Â Â private void validateRequest(String targetDocument, Map<String, String> options) throws OfficeImporterException
> + Â Â {
> + Â Â Â Â if (!docBridge.isDocumentEditable(nameFactory.createDocumentName(targetDocument))) {
> + Â Â Â Â Â Â throw new OfficeImporterException("Inadequate privileges.");
> + Â Â Â Â } else if (docBridge.exists(targetDocument) && !isAppendRequest(options)) {
> + Â Â Â Â Â Â throw new OfficeImporterException("The target document " + targetDocument + " already exists.");
> + Â Â Â Â }
> + Â Â }
> +
> + Â Â /**
> + Â Â * Utility method for checking if a request is made to append the importer result to an existing page.
> + Â Â *
> + Â Â * @param options additional parameters passed in for the import operation.
> + Â Â * @return true if the params indicate that this is an append request.
> + Â Â */
> + Â Â private boolean isAppendRequest(Map<String, String> options)
> + Â Â {
> + Â Â Â Â String appendParam = options.get("appendContent");
> + Â Â Â Â return (appendParam != null) ? appendParam.equals("true") : false;
> + Â Â }
> +}
>
> Deleted: platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityBridge.java
> ===================================================================
> --- platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityBridge.java  2009-12-20 02:37:05 UTC (rev 25853)
> +++ platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityBridge.java  2009-12-20 15:44:32 UTC (rev 25854)
> @@ -1,147 +0,0 @@
> -/*
> - * See the NOTICE file distributed with this work for additional
> - * information regarding copyright ownership.
> - *
> - * This is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU Lesser General Public License as
> - * published by the Free Software Foundation; either version 2.1 of
> - * the License, or (at your option) any later version.
> - *
> - * This software is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - * Lesser General Public License for more details.
> - *
> - * You should have received a copy of the GNU Lesser General Public
> - * License along with this software; if not, write to the Free
> - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> - * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> - */
> -package org.xwiki.officeimporter.internal;
> -
> -import java.io.ByteArrayInputStream;
> -import java.util.Map;
> -
> -import org.xwiki.bridge.DocumentAccessBridge;
> -import org.xwiki.component.logging.Logger;
> -import org.xwiki.context.Execution;
> -import org.xwiki.officeimporter.OfficeImporter;
> -import org.xwiki.officeimporter.OfficeImporterException;
> -
> -/**
> - * A bridge between velocity and office importer.
> - *
> - * @version $Id$
> - * @since 1.8M1
> - */
> -public class OfficeImporterVelocityBridge
> -{
> - Â Â /**
> - Â Â * The key used to place any error messages while importing office documents.
> - Â Â */
> - Â Â public static final String OFFICE_IMPORTER_ERROR = "OFFICE_IMPORTER_ERROR";
> -
> - Â Â /**
> - Â Â * The {@link Execution} component.
> - Â Â */
> - Â Â private Execution execution;
> -
> - Â Â /**
> - Â Â * Internal {@link OfficeImporter} component.
> - Â Â */
> - Â Â private OfficeImporter importer;
> -
> - Â Â /**
> - Â Â * The {@link DocumentAccessBridge} component.
> - Â Â */
> - Â Â private DocumentAccessBridge docBridge;
> -
> - Â Â /**
> - Â Â * The {@link Logger} instance.
> - Â Â */
> - Â Â private Logger logger;
> -
> - Â Â /**
> - Â Â * Default constructor.
> - Â Â *
> - Â Â * @param execution current execution.
> - Â Â * @param importer internal office importer component.
> - Â Â * @param docBridge document access bridge.
> - Â Â * @param logger logger.
> - Â Â */
> - Â Â public OfficeImporterVelocityBridge(Execution execution, OfficeImporter importer, DocumentAccessBridge docBridge,
> - Â Â Â Â Logger logger)
> - Â Â {
> - Â Â Â Â this.execution = execution;
> - Â Â Â Â this.importer = importer;
> - Â Â Â Â this.docBridge = docBridge;
> - Â Â Â Â this.logger = logger;
> - Â Â }
> -
> - Â Â /**
> - Â Â * Imports the passed Office document into the target wiki page.
> - Â Â *
> - Â Â * @param fileContent the binary content of the input document.
> - Â Â * @param fileName the name of the source document (should have a valid extension since the extension is used to
> - Â Â * Â Â Â Â Â Â find out the office document's format).
> - Â Â * @param targetDocument the name of the resulting wiki page.
> - Â Â * @param options the optional parameters for the conversion.
> - Â Â * @return true if the operation was a success.
> - Â Â */
> - Â Â public boolean importDocument(byte[] fileContent, String fileName, String targetDocument,
> - Â Â Â Â Map<String, String> options)
> - Â Â {
> - Â Â Â Â boolean success = false;
> - Â Â Â Â try {
> - Â Â Â Â Â Â validateRequest(targetDocument, options);
> - Â Â Â Â Â Â importer.importStream(new ByteArrayInputStream(fileContent), fileName, targetDocument, options);
> - Â Â Â Â Â Â success = true;
> - Â Â Â Â } catch (OfficeImporterException ex) {
> - Â Â Â Â Â Â logger.error(ex.getMessage(), ex);
> - Â Â Â Â Â Â execution.getContext().setProperty(OFFICE_IMPORTER_ERROR, ex.getMessage());
> - Â Â Â Â } catch (Exception ex) {
> - Â Â Â Â Â Â logger.error(ex.getMessage(), ex);
> - Â Â Â Â Â Â execution.getContext().setProperty(OFFICE_IMPORTER_ERROR,
> - Â Â Â Â Â Â Â Â "Internal error while finalizing the target document.");
> - Â Â Â Â }
> - Â Â Â Â return success;
> - Â Â }
> -
> - Â Â /**
> - Â Â * Checks if this request is valid. For a request to be valid, the target document should be editable by the current
> - Â Â * user. And if this is not an append request, the target document should not exist.
> - Â Â *
> - Â Â * @param targetDocument the target document.
> - Â Â * @param options additional parameters passed in for the import operation.
> - Â Â * @throws OfficeImporterException if the request is invalid.
> - Â Â */
> - Â Â private void validateRequest(String targetDocument, Map<String, String> options) throws OfficeImporterException
> - Â Â {
> - Â Â Â Â if (!docBridge.isDocumentEditable(targetDocument)) {
> - Â Â Â Â Â Â throw new OfficeImporterException("Inadequate privileges.");
> - Â Â Â Â } else if (docBridge.exists(targetDocument) && !isAppendRequest(options)) {
> - Â Â Â Â Â Â throw new OfficeImporterException("The target document " + targetDocument + " already exists.");
> - Â Â Â Â }
> - Â Â }
> -
> - Â Â /**
> - Â Â * Utility method for checking if a request is made to append the importer result to an existing page.
> - Â Â *
> - Â Â * @param options additional parameters passed in for the import operation.
> - Â Â * @return true if the params indicate that this is an append request.
> - Â Â */
> - Â Â private boolean isAppendRequest(Map<String, String> options)
> - Â Â {
> - Â Â Â Â String appendParam = options.get("appendContent");
> - Â Â Â Â return (appendParam != null) ? appendParam.equals("true") : false;
> - Â Â }
> -
> - Â Â /**
> - Â Â * @return any error messages thrown while importing.
> - Â Â */
> - Â Â public String getLastErrorMessage()
> - Â Â {
> - Â Â Â Â Object error = execution.getContext().getProperty(OFFICE_IMPORTER_ERROR);
> - Â Â Â Â return (error != null) ? (String) error : null;
> - Â Â }
> -}
>
> Modified: platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityContextInitializer.java
> ===================================================================
> --- platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityContextInitializer.java    2009-12-20 02:37:05 UTC (rev 25853)
> +++ platform/core/trunk/xwiki-officeimporter/src/main/java/org/xwiki/officeimporter/internal/OfficeImporterVelocityContextInitializer.java    2009-12-20 15:44:32 UTC (rev 25854)
> @@ -20,12 +20,11 @@
> Â package org.xwiki.officeimporter.internal;
>
> Â import org.apache.velocity.VelocityContext;
> -import org.xwiki.bridge.DocumentAccessBridge;
> Â import org.xwiki.component.annotation.Component;
> Â import org.xwiki.component.annotation.Requirement;
> Â import org.xwiki.component.logging.AbstractLogEnabled;
> -import org.xwiki.context.Execution;
> -import org.xwiki.officeimporter.OfficeImporter;
> +import org.xwiki.component.manager.ComponentManager;
> +import org.xwiki.officeimporter.OfficeImporterVelocityBridge;
> Â import org.xwiki.velocity.VelocityContextInitializer;
>
> Â /**
> @@ -43,29 +42,16 @@
> Â Â public static final String VELOCITY_CONTEXT_KEY = "officeimporter";
>
> Â Â /**
> - Â Â * The {@link Execution} component.
> + Â Â * Used to lookup other components.
> Â Â Â */
> Â Â @Requirement
> - Â Â private Execution execution;
> + Â Â private ComponentManager componentManager;
>
> Â Â /**
> - Â Â * The {@link OfficeImporter} component.
> - Â Â */
> - Â Â @Requirement
> - Â Â private OfficeImporter officeImporter;
> -
> - Â Â /**
> - Â Â * The {@link DocumentAccessBridge}.
> - Â Â */
> - Â Â @Requirement
> - Â Â private DocumentAccessBridge docBridge;
> -
> - Â Â /**
> Â Â Â * {@inheritDoc}
> Â Â Â */
> Â Â public void initialize(VelocityContext context)
> Â Â {
> - Â Â Â Â context.put(VELOCITY_CONTEXT_KEY, new OfficeImporterVelocityBridge(execution, officeImporter, docBridge,
> - Â Â Â Â Â Â getLogger()));
> + Â Â Â Â context.put(VELOCITY_CONTEXT_KEY, new OfficeImporterVelocityBridge(componentManager, getLogger()));
> Â Â }
> Â }
>
> _______________________________________________
> notifications mailing list
> notifications(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/notifications
>
--
Thomas Mortagne
Hello Devs,
Currently xwiki-officeimporter contains logic for mainly two different
tasks:
1. Manage the back-end openoffice process (and provide document conversion
facilities).
2. Perform the actual transformation from office documents to wiki pages.
(depends on point 1)
xwiki-officeimporter module's code might appear a bit complex because of
this mix up. Also I believe openoffice related code might have to be reused
once we introduce an office-exporter module.
I was wondering if it would be beneficial (in the long run) to extract out
openoffice related code into a separate module (xwiki-openoffice). The main
concern I have is that currently openoffice related code is inside
org.xwiki.officeimporter.openoffice package which have to be changed to
org.xwiki.openoffice if we are to extract out a xwiki-openoffice module,
this could break a few things in public API.
Even if we decide to do so, I don't think any of us (devs) would be able to
do this within 2.2M1 time period. But I thought it's better to discuss about
it a little now.
Let me know what you think.
Thanks.
- Asiri
Hi All,
I would really like to be able to mimic one to many relations through
classes somehow?
I noticed there have been a few posts about how one might go about such a
thing using dblists, it's not clear yet to me how I could implement such a
thing? I'm wondering if any demo application exist that might give me more
of a clue?
Let's say I want to set up a simple one to many relationship between
information about a company and then individuals who worked for that
company. How would I go about such a thing?
Do I setup a companyclass and a personsclass and then link them somehow with
the dblist?
What's the best user interface setup for this too so it's easy for users to
enter company and people data?
Are there any examples of HQL queries about how one would then search to
display individuals details along with elements of their companies details?
Referencing the relationship?
Or is there another way to do this? Any pointers would be very much
appreciated?
Thanks
Helen
--
View this message in context: http://n2.nabble.com/mimic-relational-database-one-to-many-relations-tp4185…
Sent from the XWiki- Dev mailing list archive at Nabble.com.