Yeah Bob, our source data is in postgresql so this is indeed very handy. Thanks a lot!
*Sergio Valenzuela* Fundación EHAS Telemedicina para países en desarrollo -* www.ehas.org <http://www.ehas.org/>* E.T.S.I. de Telecomunicación A.101-9L. Ciudad Universitaria 30, 28040 Madrid - España Tlfno. (+34) 91 488 87 41: (+34) 687 67 17 62 2016-05-25 14:14 GMT+02:00 Bob Jolliffe <bobjolli...@gmail.com>: > If you have your source data in postgresql, you can also use the following > handy function to generate uids directly from the database: > > CREATE OR REPLACE FUNCTION uid() > RETURNS text AS $$ > SELECT substring('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' > FROM (random()*51)::int +1 for 1) || > array_to_string(ARRAY(SELECT > substring('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ0123456789' > FROM (random()*61)::int + 1 FOR 1) > FROM generate_series(1,10)), '') > $$ LANGUAGE sql; > > for example: > > select *,uid() from myorgunits; > > Will list your table together with some newly minted uids. > > > On 25 May 2016 at 13:01, Jason Pickering <jason.p.picker...@gmail.com> > wrote: > >> Hi Sergio, >> The easier way to do this is to generate the UID prior to importing >> everything. You can do this pretty easily with the system with the >> following command >> >> https://play.dhis2.org/demo/api/system/uid?limit=3 >> >> Or they can be generated externally pretty easily. Here is some R code , >> but I am sure there are ways to do this in other languages as well. >> >> generateUID<-function(codeSize=11){ >> #Generate a random seed >> runif(1) >> allowedLetters<-c(LETTERS,letters) >> allowedChars<-c(LETTERS,letters,0:9) >> #First character must be a letter according to the DHIS2 spec >> firstChar<-sample(allowedLetters,1) >> otherChars<-sample(allowedChars,codeSize-1) >> >> uid<-paste(c(firstChar,paste(otherChars,sep="",collapse="")),sep="",collapse="") >> return(uid)} >> >> The last option is to post these level by level and get the UID which was >> generated for the orgunit. The tricky part may be to get the first parent >> ID, but once you have that, it should be pretty easy. >> >> From my experience however, generating these prior to importing them is >> much easier and will allow you to edit things for instance, in your GIS >> software and then import them into DHIS2. >> >> Regards, >> Jason >> >> >> On Wed, May 25, 2016 at 1:54 PM, Sergio Valenzuela < >> sergio.valenzu...@ehas.org> wrote: >> >>> Thanks Morten, yes, we were trying to create a new root and we were >>> missing that step. >>> >>> My question now is: In the "parent" object included in >>> "organisationUnits", is it possible to swap the attribute "id" to "name" >>> (or something you know when you are creating the parents)? Otherwise, how >>> can be done the import of a whole org unit hierarchy (in a single json) >>> when you don't know the "id" of the "parents"? >>> >>> I attached an image pointing the part of the json I'm talking about. >>> >>> >>> >>> *Sergio Valenzuela* >>> Fundación EHAS >>> Telemedicina para países en desarrollo -* www.ehas.org >>> <http://www.ehas.org/>* >>> E.T.S.I. de Telecomunicación A.101-9L. Ciudad Universitaria 30, 28040 >>> Madrid - España >>> Tlfno. (+34) 91 488 87 41: (+34) 687 67 17 62 >>> >>> >>> >>> 2016-05-25 13:13 GMT+02:00 Morten Olav Hansen <mor...@dhis2.org>: >>> >>>> Hi Sergio >>>> >>>> So you are creating a new root? Could it be that your user is attached >>>> to a different org unit, and so the problem is that you can't see them? >>>> >>>> Maybe you could verify in the database, or using the web-api? >>>> /api/organisationUnits.json?filter=name:like:abc >>>> >>>> -- >>>> Morten Olav Hansen >>>> Senior Engineer, DHIS 2 >>>> University of Oslo >>>> http://www.dhis2.org >>>> >>>> On Wed, May 25, 2016 at 6:06 PM, Sergio Valenzuela < >>>> sergio.valenzu...@ehas.org> wrote: >>>> >>>>> Hello devs, >>>>> >>>>> We are trying to create a whole org unit hierarchy through the new API >>>>> resource /api/23/metadata . >>>>> During the process, we realized there should be some kind of problem >>>>> when we tried to create the parent org unit (the parent of the whole >>>>> hierarchy), because even If the answer from the server is 200 OK once we >>>>> sent the POST and with a GET we can verify that the org units are created >>>>> successfully, no org units are appearing on Maintenance App. We are using >>>>> the same version and build as in demo server (version 2.23 and build >>>>> 22969). >>>>> We tried the same in demo server with the same result. >>>>> >>>>> I attached our JSON and the url we were doing the POST request: >>>>> >>>>> - https://play.dhis2.org/demo/api/23/metadata >>>>> >>>>> <https://www.google.com/url?q=https%3A%2F%2Fplay.dhis2.org%2Fdemo%2Fapi%2F23%2Fmetadata&sa=D&sntz=1&usg=AFQjCNFEcEvpUIBy7DQX7KNTUvGRw7nObw> >>>>> >>>>> Besides, we tried to create the parent org unit of the whole hierarchy >>>>> through the Maintenance interface with the same result. Apparently, it is >>>>> created but not shown after on Maintenance App. (We made a GET to >>>>> http://localhost:8080/api/metadata?assumeTrue=false&organisationUnits=true >>>>> and we verified that the org unit was created) >>>>> >>>>> Tell me If I'm doing something wrong here or If this issue was already >>>>> reported. >>>>> >>>>> Best Regards! >>>>> >>>>> *Sergio Valenzuela* >>>>> Fundación EHAS >>>>> Telemedicina para países en desarrollo -* www.ehas.org >>>>> <http://www.ehas.org/>* >>>>> E.T.S.I. de Telecomunicación A.101-9L. Ciudad Universitaria 30, 28040 >>>>> Madrid - España >>>>> Tlfno. (+34) 91 488 87 41: (+34) 687 67 17 62 >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~dhis2-devs >>>>> Post to : dhis2-devs@lists.launchpad.net >>>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>>> More help : https://help.launchpad.net/ListHelp >>>>> >>>>> >>>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~dhis2-devs >>> Post to : dhis2-devs@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~dhis2-devs >>> More help : https://help.launchpad.net/ListHelp >>> >>> >> >> >> -- >> Jason P. Pickering >> email: jason.p.picker...@gmail.com >> tel:+46764147049 >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-devs >> Post to : dhis2-devs@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~dhis2-devs >> More help : https://help.launchpad.net/ListHelp >> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp