Highlighted
3 Argentium

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hi Jermy,

You can check 3.1 O2 Admin Guide. It has screenshot and bit more information,

DQL identifier - historic

Example of DQL request to create an history of versions:

select r_object_id, r_version_label, r_modify_date, r_modifier, log_entry from dm_sysobject(all) where

i_chronicle_id = '$value(i_chronicle_id)' and r_object_id <= '$value(r_object_id)' order by

i_antecedent_id, r_object_id

• You can use the DQL document’s properties by using the variable

$value(document_property)

• The result of the request is used in the Office document with the following syntax for the previous example:

– historique.r_version_label[0] for the first value of the property r_version_label

– historique.r_version_label{\n} for all values of property r_version_label with a carriage return after

each value

– historique.r_version_label{,} for all values of property r_version_label separated by a « , »

Hope this will help

Thank you

Pinal Shah

Reply
Highlighted
2 Bronze

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Dear All,

As per the D2_4 X_Plugins_Extensions.PDF document page no19, I am trying to create a custom dialog.

I am using D2 4..2

Created java , xml and properties file for that as per written in the document.

Then configured a menu item like :-

<dynamic-action class="com.emc.d2fs.dctm.ui.dynamicactions.actions.ShowDialog" dialog="Feature2Dialog"/>

But when clicking the menu from D2, in the D2.log getting the below error :-

2014-06-04 13:49:44 [INFO ] - c.e.x.p.s.s.d.RpcDialogServiceImpl[                    ] : Context novaplus-1401869854090-authord2-2131973358 with ID = 0c01b66980000104

2014-06-04 13:49:44 [DEBUG] - c.e.d.d.a.InjectSessionAspect[                    ] : Call first service D2DialogService.getDialog(..)

2014-06-04 13:49:44 [DEBUG] - c.e.d.d.a.InjectSessionAspect[                    ] : Search plugins for D2DialogServicePlugin => []

2014-06-04 13:49:44 [DEBUG] - c.e.d.d.w.s.D2fsContext[                    ] : Session : s1 (0.000s)

2014-06-04 13:49:44 [ERROR] - c.e.d.d.a.InjectSessionAspect[                    ] : {}

java.lang.NullPointerException: null

at com.emc.common.java.xml.XmlUtil.loadFromURL(XmlUtil.java:144) [C6-Common-4.2.0.jar:na]

at com.emc.d2fs.dctm.dialogs.AbstractDialog.buildDialog(AbstractDialog.java:142) [D2FS4DCTM-WEB-4.2.0.jar:na]

at com.emc.d2fs.dctm.dialogs.AbstractDialog.buildDialog(AbstractDialog.java:82) [D2FS4DCTM-WEB-4.2.0.jar:na]

at com.emc.d2fs.dctm.web.services.dialog.D2DialogService.getDialog_aroundBody0(D2DialogService.java:94) [D2FS4DCTM-WEB-4.2.0.jar:na]

at com.emc.d2fs.dctm.web.services.dialog.D2DialogService$AjcClosure1.run(D2DialogService.java:1) [D2FS4DCTM-WEB-4.2.0.jar:na]

at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:221) [aspectjrt-1.6.11.jar:na]

at com.emc.d2fs.dctm.aspects.InjectSessionAspect.process(InjectSessionAspect.java:138) [D2FS4DCTM-WEB-4.2.0.jar:na]

at com.emc.d2fs.dctm.web.services.dialog.D2DialogService.getDialog(D2DialogService.java:74) [D2FS4DCTM-WEB-4.2.0.jar:na]

at com.emc.x3.portal.server.service.dialog.RpcDialogServiceImpl.getDialog(RpcDialogServiceImpl.java:54) [RpcDialogServiceImpl.class:na]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.7.0_55]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [na:1.7.0_55]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [na:1.7.0_55]

at java.lang.reflect.Method.invoke(Unknown Source) [na:1.7.0_55]

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561) [gwt-servlet-2.5.1.jar:na]

at com.emc.x3.server.GuiceRemoteServiceServlet.processCall(GuiceRemoteServiceServlet.java:105) [X3-Common-4.2.0.jar:na]

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) [gwt-servlet-2.5.1.jar:na]

at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) [gwt-servlet-2.5.1.jar:na]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) [servlet-api.jar:na]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:na]

at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na]

at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) [shiro-web-1.1.0.jar:na]

at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) [shiro-web-1.1.0.jar:na]

at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.1.0.jar:1.1.0]

at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.1.0.jar:1.1.0]

at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) [shiro-core-1.1.0.jar:1.1.0]

at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) [shiro-web-1.1.0.jar:na]

at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) [shiro-web-1.1.0.jar:na]

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:na]

at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:na]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.53]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.53]

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.53]

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.53]

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.53]

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.53]

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) [catalina.jar:7.0.53]

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.53]

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.53]

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.53]

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) [tomcat-coyote.jar:7.0.53]

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.53]

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441) [tomcat-coyote.jar:7.0.53]

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430) [tomcat-coyote.jar:7.0.53]

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_55]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_55]

at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]

2014-06-04 13:49:44 [DEBUG] - c.e.d.d.w.s.D2fsContext[                    ] : Release session : s1

Reply
Highlighted
3 Argentium

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hi Joydeep

You need to log service request with support for this kind of issue as support needs to verify your xml and component files and implementation.

Thank you

Pinal Shah

Reply
Highlighted
2 Bronze

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hi Pinal,

Ok . Thanks for your reply.

I will raise a SR.

Just one query :- Do you have idea on how to call the custom dialog from the Menu item ?

I am doing like  this :-

Createa a new menu and called the dialog like this  :- <dynamic-action class="com.emc.d2fs.dctm.ui.dynamicactions.actions.ShowDialog" dialog="Feature2Dialog"/>

Reply
Highlighted
3 Argentium

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

HI Joydeep

we have example with D2 SDK about plugin development. Sample plugin for export has code for custom export action from there you should be able to find information.

Did you check that?

Reply
Highlighted

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hello Pinal,

I´m trying to create a new content in D2, starting from another document X (I select the document X in the "Document List", right click on it and press "Create").

After i start this, It shows me the screen "Fill Creation Profile" and a box named "Inheritance" with the filed "Source content" set with the name of the document X i chose before. When i click "Next" it goes to the page "Edit Properties" and shows the Property Page i configured.


My doubt: I would like to access the id of the document X in my Property Page to use it in an inside DQL. How could i make it or is there any alternative?

Kind Regards

Reply
Highlighted
3 Argentium

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hi Falviohen

Let me clarify your requirement - you need the r_object_id of the source(Document X in your case) Am i right?

Thank you

Pinal Shah

Reply
Highlighted

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hello Pinal,

Thank you for the fast answer.

Yes, exactly, i need the r_object_id of the source Document X.

Hugs,

Flavio H

Reply
3 Argentium

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Hi Flavio H,

I think try this and most likely it will work

Somehow you need to copy r_object_id to one of your custom attribute

I have done quick test and it worked.

I used subject but you can use any custom property

On import original doc - I started LC and copy r_obejct_id using set property to subject

Inheritance I used subject to inherit value.

Select newly imported document and import new document

r_object_id got copied over to subject field in my case.

Then you can use that field in your dql on the property page.

Hope this will help

Thank you

Pinal Shah

Reply
Highlighted

Re: Ask the Expert: D2 Configuration options, Matrix selection & Plugin Development

Thank you very much, Pinal! Worked perfectly!

Reply