Hi, Well, we didn't have an exact plan for when to switch over the import/export UI, but seeing as we only switched to the new importer in the maintenance app this week, we will wait for 2.25 to switch over the import/export UI (to test it more).
We are probably phasing out the legacy importer in 2.25, so it seems like a good time to then switch over the UI also. -- Morten Olav Hansen Senior Engineer, DHIS 2 University of Oslo http://www.dhis2.org On Fri, Jun 24, 2016 at 11:30 AM, Vanya Seth <[email protected]> wrote: > Hi Morten > > The plan to move the UI as well to the new importer functionality was > supposed to be out in 2.24. Is it not the right understanding? > > Regards > Vanya > > On Fri, Jun 24, 2016 at 4:56 AM, Morten Olav Hansen <[email protected]> > wrote: > >> It's only available as a API at this point (probably will be changed in >> 2.25), and yes you can import multiple users at the same time. >> >> If you are using json you can use something like this: >> curl -X POST -d @file.json -H "Content-Type: application/json" -u >> username:password http://server/api/23/metadata >> >> Or xml: >> curl -X POST -d @file.xml -H "Content-Type: application/xml" -u >> username:password http://server/api/23/metadata >> >> You can read more about it here: >> http://dhis2.github.io/dhis2-docs/master/en/developer/html/ch01s14.html >> >> If you are using windows and don't have access to cURL, you can install >> this package: >> https://github.com/bmatzelle/gow >> >> -- >> Morten Olav Hansen >> Senior Engineer, DHIS 2 >> University of Oslo >> http://www.dhis2.org >> >> On Fri, Jun 24, 2016 at 5:05 AM, <[email protected]> wrote: >> >>> Hello Morten, >>> >>> Would the upgrade to 2.23 allow me to do the import from the metadata >>> import app or I would have to do it from the API? >>> If I had to do it from the API, is there step-by-step guidance on how to >>> do this? I have to import 59 users and would I have to do that one after >>> the other or as a batch? >>> >>> Thank you. >>> >>> Regards, >>> >>> >>> Ifeanyi >>> >>> Original Message >>> From: Morten Olav Hansen >>> Sent: Thursday, 23 June 2016 17:56 >>> To: [email protected] >>> Reply To: Bug 1538443 >>> Subject: Re: [Dhis2-devs] [Bug 1538443] Re: Metadata import of users >>> fails >>> >>> >>> Hi >>> >>> Are you able to update to 2.23? in 2.23 we have a new importer at the >>> /api/23/metadata endpoint which has much better support for (among other >>> types) users >>> >>> -- >>> Morten Olav Hansen >>> Senior Engineer, DHIS 2 >>> University of Oslo >>> http://www.dhis2.org >>> >>> On Thu, Jun 23, 2016 at 6:13 PM, Ifeanyi Okoye < >>> [email protected]> >>> wrote: >>> >>> > Hello, >>> > I am trying to move data from one instance of DHIS2 (2.22) to another >>> > using metadata export and import. So far everything else has worked >>> except >>> > for importing users. It just goes on indefinitely. >>> > >>> > Please see the logs below: >>> > >>> > * ERROR 2016-06-23 01:31:31,479 Unexpected error occurred in scheduled >>> > task. (TaskUtils.java [taskScheduler-2]) >>> > org.hibernate.TransientObjectException: object references an unsaved >>> > transient instance - save the transient instance before flushing: >>> > org.hisp.dhis.user.User >>> > at >>> > >>> org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:249) >>> > at org.hibernate.type.EntityType.getIdentifier(EntityType.java:536) >>> > at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:311) >>> > at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:321) >>> > at org.hibernate.type.TypeHelper.findDirty(TypeHelper.java:294) >>> > at >>> > >>> org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4049) >>> > at >>> > >>> org.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:537) >>> > at >>> > >>> org.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:235) >>> > at >>> > >>> org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:164) >>> > at >>> > >>> org.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:230) >>> > at >>> > >>> org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:100) >>> > at >>> > >>> org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61) >>> > at >>> > >>> org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1166) >>> > at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1223) >>> > at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) >>> > at >>> > >>> org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:909) >>> > at >>> > >>> org.hisp.dhis.user.hibernate.HibernateUserCredentialsStore.getUserCredentialsByUsername(HibernateUserCredentialsStore.java:48) >>> > at >>> > >>> org.hisp.dhis.user.DefaultUserService.getUserCredentialsByUsername(DefaultUserService.java:567) >>> > at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source) >>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> > at java.lang.reflect.Method.invoke(Unknown Source) >>> > at >>> > >>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) >>> > at com.sun.proxy.$Proxy35.getUserCredentialsByUsername(Unknown >>> > Source) >>> > at >>> > >>> org.hisp.dhis.user.DefaultCurrentUserService.getCurrentUser(DefaultCurrentUserService.java:92) >>> > at sun.reflect.GeneratedMethodAccessor161.invoke(Unknown Source) >>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> > at java.lang.reflect.Method.invoke(Unknown Source) >>> > at >>> > >>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) >>> > at com.sun.proxy.$Proxy18.getCurrentUser(Unknown Source) >>> > at >>> > >>> org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:207) >>> > at >>> > >>> org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:200) >>> > at >>> > >>> org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:275) >>> > at >>> > >>> org.hisp.dhis.hibernate.HibernateGenericStore.getSharingObject(HibernateGenericStore.java:307) >>> > at >>> > >>> org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:107) >>> > at >>> > >>> org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getByUid(HibernateIdentifiableObjectStore.java:57) >>> > at >>> > >>> org.hisp.dhis.common.DefaultIdentifiableObjectManager.get(DefaultIdentifiableObjectManager.java:189) >>> > at sun.reflect.GeneratedMethodAccessor567.invoke(Unknown Source) >>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> > at java.lang.reflect.Method.invoke(Unknown Source) >>> > at >>> > >>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) >>> > at com.sun.proxy.$Proxy76.get(Unknown Source) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getUidMatch(DefaultObjectBridge.java:722) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.findMatches(DefaultObjectBridge.java:526) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.DefaultObjectBridge.getObjects(DefaultObjectBridge.java:421) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateForNewStrategy(DefaultIdentifiableObjectImporter.java:700) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.validateIdentifiableObject(DefaultIdentifiableObjectImporter.java:651) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:536) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:192) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:260) >>> > at >>> > >>> org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:176) >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> > at java.lang.reflect.Method.invoke(Unknown Source) >>> > at >>> > >>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) >>> > at >>> > >>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) >>> > at com.sun.proxy.$Proxy201.importMetaData(Unknown Source) >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> > at java.lang.reflect.Method.invoke(Unknown Source) >>> > at >>> > >>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) >>> > at >>> > >>> org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) >>> > at >>> > >>> org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) >>> > at >>> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) >>> > at >>> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) >>> > at com.sun.proxy.$Proxy152.importMetaData(Unknown Source) >>> > at >>> > >>> org.hisp.dhis.importexport.action.util.ImportMetaDataTask.call(ImportMetaDataTask.java:99) >>> > at >>> > >>> org.hisp.dhis.security.SecurityContextRunnable.run(SecurityContextRunnable.java:57) >>> > at >>> > >>> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) >>> > at java.util.concurrent.Executors$RunnableAdapter.call(Unknown >>> > Source) >>> > at java.util.concurrent.FutureTask.run(Unknown Source) >>> > at >>> > >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown >>> > Source) >>> > at >>> > >>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown >>> > Source) >>> > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown >>> > Source) >>> > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >>> > Source) >>> > at java.lang.Thread.run(Unknown Source) >>> > >>> > >>> > Is there a solution to this issue? >>> > >>> > -- >>> > You received this bug notification because you are a bug assignee. >>> > https://bugs.launchpad.net/bugs/1538443 >>> > >>> > Title: >>> > Metadata import of users fails >>> > >>> > Status in DHIS: >>> > Fix Released >>> > >>> > Bug description: >>> > I am using two instances of DHIS. I have exported metadata from one >>> > instance of DHIS and imported that into another instance of DHIS. But >>> the >>> > import process fails at users. When I try importing metadata without >>> > "users", import is successful. >>> > While importing metadata with users, The log says - "object references >>> > an unsaved transient instance". I have also gone through some threads >>> > raising similar issues, and heard that import of users is disabled or >>> not >>> > supported. If so, is there a way we can import users? Could you please >>> > elaborate on that. >>> > >>> > Current user: >>> > admin >>> > Version: >>> > 2.21 >>> > Build revision: >>> > 20983 >>> > User agent: >>> > Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 >>> > (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 >>> > >>> > To manage notifications about this bug go to: >>> > https://bugs.launchpad.net/dhis2/+bug/1538443/+subscriptions >>> > >>> >>> -- >>> You received this bug notification because you are a member of DHIS 2 >>> developers, which is subscribed to DHIS. >>> https://bugs.launchpad.net/bugs/1538443 >>> >>> Title: >>> Metadata import of users fails >>> >>> Status in DHIS: >>> Fix Released >>> >>> Bug description: >>> I am using two instances of DHIS. I have exported metadata from one >>> instance of DHIS and imported that into another instance of DHIS. But the >>> import process fails at users. When I try importing metadata without >>> "users", import is successful. >>> While importing metadata with users, The log says - "object references >>> an unsaved transient instance". I have also gone through some threads >>> raising similar issues, and heard that import of users is disabled or not >>> supported. If so, is there a way we can import users? Could you please >>> elaborate on that. >>> >>> Current user: >>> admin >>> Version: >>> 2.21 >>> Build revision: >>> 20983 >>> User agent: >>> Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 >>> (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 >>> >>> To manage notifications about this bug go to: >>> https://bugs.launchpad.net/dhis2/+bug/1538443/+subscriptions >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~dhis2-devs >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~dhis2-devs >>> More help : https://help.launchpad.net/ListHelp >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~dhis2-devs >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~dhis2-devs >>> More help : https://help.launchpad.net/ListHelp >>> >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-devs >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~dhis2-devs >> More help : https://help.launchpad.net/ListHelp >> >> > > > -- > With Regards > ThoughtWorks Technologies > Hyderabad > > --Stay Hungry Stay Foolish!! >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

