← Back to team overview

dhis2-devs team mailing list archive

Re: DHIS2 Docs

 

Hi All,

I just wanted to revive this old thread regarding the storage of documents
in DHIS 2. We are wanting to programatically upload files into DHIS 2 that
are related to Data Sets and Programs in general, for users to be able to
view/download via the DHIS 2 UI.

Using the file resource functionality for this would be clunky, as we would
not want to have these files related to specific data values. For example,
if we had District-level survey data, we would want one file to be uploaded
that was related to *all* data values in this Program for a country. We
could maybe have a kludge where we add one data value for this file
associated with the country-level org unit but this does not seem ideal.

Additionally it doesn't seem easy via the DHIS 2 UI to actually
view/download the files themselves. I see the RESTful url for the file is
shown as a link in the data entry screen, but don't see another way to get
at the files via the UI without constructing the RESTful url for the Web
API manually (unless I'm missing something?). It looks like we would likely
need to make a DHIS 2 app to allow users more easy access to the files
themselves for our particular use case.

It seems that the Resource (aka Document) functionality would make more
sense for us to use:
http://<server>/dhis-web-reporting/displayViewDocumentForm.action
/api/documents
We could have a kludge where we reference the Data Set or Program via
naming convention.

However, in reading this thread I see that the plan is to deprecate
/api/documents altogether. I also couldn't find documentation regarding
this API call and how to actually create a resource(document) via the API.

I did notice in another thread "Using DHIS File Store" that supporting
"standalone" file resources is a feature that is in the pipeline. Is there
any ETA for that functionality?

Do you have any recommendations for us of how we should tackle this use
case?

Thanks,

Lorill

On Fri, Jul 31, 2015 at 5:59 AM, Halvdan Grelland <halvdanhg@xxxxxxxxx>
wrote:

> Yes, eventually we could probably do that.
>
> First order of business is really to allow (external) files to be stored
> in lieu of the value field of DataValue. The details of how the model will
> look in the end is still to be decided and is very much dependent on the
> requirements of the storage backend (I'm experimenting with Apache jClouds
> to do this at the moment) and the range of uses we envision within DHIS2.
>
> I would not recommend hacking a solution together using the
> datavalue.value field. It might work (kind of), but is hardly scalable and
> will be (I assure you) a complete pain to maintain and will be hard to
> migrate when we eventually get a more integrated solution to this
> requirement.
>
> As for ETA It's a bit up in the air currently. As said, it's proven to be
> complex to implement properly.
>
> Btw. Morten, there is an api/files endpoint (it's used to manage custom
> css/js). ;)
>
> 2015-07-29 11:38 GMT+02:00 Morten Olav Hansen <mortenoh@xxxxxxxxx>:
>
>> We also already have the /api/documents endpoint, is the idea to somehow
>> merge these similar functionalities? Maybe we need a /api/files endpoint..
>> and we can deprecate /api/documents (and then later replace it with a
>> document store as it has been discussed before... always wanted to remove
>> /api/documents)
>>
>> --
>> Morten
>>
>> On Wed, Jul 29, 2015 at 6:16 AM, Halvdan Grelland <halvdanhg@xxxxxxxxx>
>> wrote:
>>
>>> Definitely agree! The working title at the moment is 'file resource',
>>> which seems to be descriptive enough and not too generic.
>>>
>>> 'Document' as it exists right now in dhis2 is really only local storage
>>> with a relative path in the DB. 'File resources' could potentially replace
>>> that (as a more flexible back end).
>>>
>>> (There are other questions brought up that I'd like to address but I'm
>>> on my phone on terrible hotel wifi at the moment so will come back to
>>> those).
>>> On 28 Jul 2015 4:45 pm, "Morten Olav Hansen" <mortenoh@xxxxxxxxx> wrote:
>>>
>>>> I don't like that we at naming the bp document. Let's file it a file
>>>> api.
>>>>
>>>> As much as possible I want to save the wording document until we
>>>> implement a proper nosql document storage.
>>>>
>>>> We already have /api:documents which I want to remove (I doubt many
>>>> external apps depend on it)
>>>>
>>>> On Tuesday, July 28, 2015, Elmarie Claasen <elmarie@xxxxxxxx> wrote:
>>>>
>>>>> Hi all, there is a blueprint for this already
>>>>>
>>>>>
>>>>> https://blueprints.launchpad.net/dhis2/+spec/document-dataelement-attribute-type
>>>>>
>>>>> Elmarie
>>>>> On 28 Jul 2015 11:27 AM, "Greg Rowles" <greg.rowles@xxxxxxxxx> wrote:
>>>>>
>>>>>> Hi Halvdan
>>>>>>
>>>>>> Sounds great and a good alternative! I'd like to work through an
>>>>>> example or two:
>>>>>>
>>>>>> We have annual performance plans made up of multiple quarterly
>>>>>> reports so I would expect there to be 2 data sets:
>>>>>>  - Annual Performance Plans (fYear)
>>>>>>  - Quarterly Performance Reports (fQuarter)
>>>>>>
>>>>>> If we configure these data sets to include a single data element of
>>>>>> type 'Text' what name would we give to this element? 'Document' or 'File'?
>>>>>>
>>>>>> We're currently experimenting with ownCloud for document storage as
>>>>>> an interim solution. I guess nothing stops us from loading the ownCloud URL
>>>>>> into datavalue.value?
>>>>>>
>>>>>> Regards,
>>>>>> Greg
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jul 28, 2015 at 10:49 AM, Harsh Atal <harsh.atal@xxxxxxxxx>
>>>>>> wrote:
>>>>>>
>>>>>>> Hello Halvdan,
>>>>>>>
>>>>>>> *We are planning on introducing files as a type for data values, as
>>>>>>> well as data elements supporting this (document, images). You would then
>>>>>>> use the datavalue model to implement these types of requirements.*
>>>>>>>
>>>>>>> ^^This is exactly what is needed by us. I didn't know this was
>>>>>>> already in the works!!
>>>>>>>
>>>>>>> May be its a bit early to ask but.....for which version is this
>>>>>>> planned for? It will be of immense use in one of our projects.
>>>>>>>
>>>>>>> regards
>>>>>>> harsh
>>>>>>>
>>>>>>> On 28 July 2015 at 14:10, Halvdan Grelland <halvdanhg@xxxxxxxxx>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> We are planning on introducing files as a type for data values, as
>>>>>>>> well as data elements supporting this (document, images). You would then
>>>>>>>> use the datavalue model to implement these types of requirements.
>>>>>>>>
>>>>>>>> The implementation is in the works but is a fairly complex beast as
>>>>>>>> we're juggling actual files outside of the database (we consider in-db
>>>>>>>> storage of large blobs uscalable and a generally bad idea). We're also
>>>>>>>> planning to enable offloading this to third party cloud storage (eg amazon
>>>>>>>> s3).
>>>>>>>>
>>>>>>>> I'm on holiday at the moment but please respond if you have any
>>>>>>>> comments and I'll get back to you when I can.
>>>>>>>> On 28 Jul 2015 10:02 am, "Greg Rowles" <greg.rowles@xxxxxxxxx>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi All
>>>>>>>>>
>>>>>>>>> These are the concepts we've been thinking about:
>>>>>>>>>
>>>>>>>>> DocumentSet, DocumentSetLevel, Document.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [DocumentSet] would similar to data sets in that they are
>>>>>>>>> cyclical. They may have different periodTypes (e.g. yearly, fYealy,
>>>>>>>>> quarterly, fQuarterly, onChange) and may be compulsory. These include
>>>>>>>>> performance plans, development plans, mandatory reporting requirements,
>>>>>>>>> policy documents or content originating in other domains. A DocumentSet may
>>>>>>>>> have a design template (or default document) from which users borrow layout
>>>>>>>>> for their submissions.
>>>>>>>>>
>>>>>>>>> [DocumentSetLevel] is the orgunitlevel associated with DocumentSet
>>>>>>>>> (and possibly a compulsory y/n field). This caters for mandatory reporting
>>>>>>>>> requirements across different levels of the DHIS hierarchy.
>>>>>>>>>
>>>>>>>>> [Document] would be the actual object and associated meta data
>>>>>>>>> (DocumentID, name, uid, description, owner, creationdate,
>>>>>>>>> organisationUnitID, DocumentSetID, {startdate:enddate/periodid},
>>>>>>>>> downloadURL, etc)
>>>>>>>>>
>>>>>>>>> Not sure how the actual document content would be hosted, stored
>>>>>>>>> or even what solutions are available right now but if the following
>>>>>>>>> concepts were available through API calls - it would make life really easy
>>>>>>>>> for us here in SA...
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Greg
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jul 28, 2015 at 9:07 AM, Jason Pickering <
>>>>>>>>> jason.p.pickering@xxxxxxxxx> wrote:
>>>>>>>>>
>>>>>>>>>> Ah, I get the requirement now. This would be documents which
>>>>>>>>>> would be uploaded as part of a data set submission. Yeah, this is not
>>>>>>>>>> really currently supported as far as I can tell, but it would be a good
>>>>>>>>>> idea.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Jason
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Jul 28, 2015 at 8:37 AM, Harsh Atal <harsh.atal@xxxxxxxxx
>>>>>>>>>> > wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> Related to this we also have a similar requirement where the
>>>>>>>>>>> functionality for document upload is required as part of normal data entry.
>>>>>>>>>>>
>>>>>>>>>>> Basically, a person has to visit a facility for inspection and
>>>>>>>>>>> taking photos of the facility is part of that inspection. These photos then
>>>>>>>>>>> have to be uploaded as a kind of appendix along with the routine data entry
>>>>>>>>>>> of the inspection form.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> regards
>>>>>>>>>>> harsh
>>>>>>>>>>>
>>>>>>>>>>> On 28 July 2015 at 11:08, Jason Pickering <
>>>>>>>>>>> jason.p.pickering@xxxxxxxxx> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Greg,
>>>>>>>>>>>> You can always simply upload the supporting document as a
>>>>>>>>>>>> resource and then make it available through a dashboard.
>>>>>>>>>>>>
>>>>>>>>>>>> Otherwise, maybe you could write a more specific blueprint?
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Jason
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Jul 27, 2015 at 8:59 PM, Calle Hedberg <
>>>>>>>>>>>> calle.hedberg@xxxxxxxxx> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Greg,
>>>>>>>>>>>>>
>>>>>>>>>>>>> As far as I know, this is just an idea that Lars and I have
>>>>>>>>>>>>> been chatting about. I'll bring it up during the expert academy to get
>>>>>>>>>>>>> wider inputs
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards
>>>>>>>>>>>>> calle
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 27 July 2015 at 12:33, Greg Rowles <greg.rowles@xxxxxxxxx>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Devs
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I heard there is talk for supporting document storage as part
>>>>>>>>>>>>>> of DHIS2 but I don't find any plans on launchpad. Can anyone confirm?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kind Regards,
>>>>>>>>>>>>>> Greg
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> *Health Information Systems Program - South Africa*
>>>>>>>>>>>>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - -
>>>>>>>>>>>>>> - **- - - - - *
>>>>>>>>>>>>>> Mobile  :    073 246 2992
>>>>>>>>>>>>>> Landline:   021 554 3130
>>>>>>>>>>>>>> Fax:          086 733 8432
>>>>>>>>>>>>>> Skype:      gregory_rowles
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>>
>>>>>>>>>>>>> *******************************************
>>>>>>>>>>>>>
>>>>>>>>>>>>> Calle Hedberg
>>>>>>>>>>>>>
>>>>>>>>>>>>> 46D Alma Road, 7700 Rosebank, SOUTH AFRICA
>>>>>>>>>>>>>
>>>>>>>>>>>>> Tel/fax (home): +27-21-685-6472
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cell: +27-82-853-5352
>>>>>>>>>>>>>
>>>>>>>>>>>>> Iridium SatPhone: +8816-315-19274
>>>>>>>>>>>>>
>>>>>>>>>>>>> Email: calle.hedberg@xxxxxxxxx
>>>>>>>>>>>>>
>>>>>>>>>>>>> Skype: calle_hedberg
>>>>>>>>>>>>>
>>>>>>>>>>>>> *******************************************
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Jason P. Pickering
>>>>>>>>>>>> email: jason.p.pickering@xxxxxxxxx
>>>>>>>>>>>> tel:+46764147049
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Jason P. Pickering
>>>>>>>>>> email: jason.p.pickering@xxxxxxxxx
>>>>>>>>>> tel:+46764147049
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Health Information Systems Program - South Africa*
>>>>>>>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **-
>>>>>>>>> - - - - *
>>>>>>>>> Mobile  :    073 246 2992
>>>>>>>>> Landline:   021 554 3130
>>>>>>>>> Fax:          086 733 8432
>>>>>>>>> Skype:      gregory_rowles
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Health Information Systems Program - South Africa*
>>>>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **- -
>>>>>> - - - *
>>>>>> Mobile  :    073 246 2992
>>>>>> Landline:   021 554 3130
>>>>>> Fax:          086 733 8432
>>>>>> Skype:      gregory_rowles
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>> *This message and any attachments are subject to a disclaimer
>>>>> published at http://www.hisp.org/policies.html#comms_disclaimer
>>>>> <http://www.hisp.org/policies.html#comms_disclaimer>.  Please read the
>>>>> disclaimer before opening any attachment or taking any other action in
>>>>> terms of this electronic transmission.  If you cannot access the
>>>>> disclaimer, kindly send an email to disclaimer@xxxxxxxx and a copy will be
>>>>> provided to you. By replying to this e-mail or opening any attachment you
>>>>> agree to be bound by the provisions of the disclaimer*.
>>>>>
>>>>> *This message and any attachments are subject to a disclaimer
>>>>> published at http://www.hisp.org/policies.html#comms_disclaimer
>>>>> <http://www.hisp.org/policies.html#comms_disclaimer>.  Please read the
>>>>> disclaimer before opening any attachment or taking any other action in
>>>>> terms of this electronic transmission.  If you cannot access the
>>>>> disclaimer, kindly send an email to disclaimer@xxxxxxxx and a copy will be
>>>>> provided to you. By replying to this e-mail or opening any attachment you
>>>>> agree to be bound by the provisions of the disclaimer*.
>>>>>
>>>>
>>>>
>>>> --
>>>> --
>>>> Morten
>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References