← Back to team overview

dhis2-devs team mailing list archive

Re: Pagination patch

 

Hi Ola,

Thanks, but this is not applicable in my case. All of our data
elements have been imported from DHIS14. The data set ordering is
correct there, but not imported, and thus not respected in 2. The
fundamental problem is the that the datasetmembers object has no
sortorder. The sortorder persisted in dataelements is pretty close to
the order in DHIS1.4 (although not exact, which is a bit strange), but
even this is not respected when it comes to data set sections. Just
look at the code, and you will see what the problems are.

The issue that I am discussing (in this thread) is really about
sending what is necessary and practical to the client. It seems to be
totally inefficient (and certainly not scalable) to send several
hundred data elements across the wire at one time. Why not take a
block of 30 and allow people to page through them? Allowing
presentation by different sort orders (data set order, data element
order, alphabetical order, code order) are things that 1.4 has, and
there has been (at least in my assessment) a proven need for them in
the field. Again, all of this is are suggestions, which I hope can be
improved upon.

Regards,
JPP




On Tue, Apr 20, 2010 at 8:55 PM, Ola Hodne Titlestad <olatitle@xxxxxxxxx> wrote:
> Jason,
>
> Not sure that this will help you, but when setting up the datasets for
> Sierra Leone I always started by creating data element groups, and then when
> creating data sets and data set sections I added all data elements from a
> group. This made it easier for me as the data element group editor UI is
> working fine and also has the two dimensional view.
>
>
> Ola Hodne Titlestad |Technical Officer|
> Health Metrics Network (HMN) | World Health Organization
> Avenue Appia 20 |1211 Geneva 27, Switzerland | Email:
> titlestado@xxxxxxx|Tel: +41 788216897
> Website: www.healthmetricsnetwork.org
>
> Better Information. Better Decisions. Better Health.
>
>
> 2010/4/20 Jason Pickering <jason.p.pickering@xxxxxxxxx>
>>
>>  It would seem this was implemented for the patient system. Has there
>> been any effort to move it to a more common place, so it can be used
>> by other modules?
>>
>> I am asking for two reasons.
>>
>> 1) Currently, ALL data elements are loaded when editing data elements.
>> In our case, this results in a lot data being sent across a very small
>> pipeline. Operations with data elements (sort for example) are very,
>> very sluggish. This might help to improve the situation.
>>
>> 2) Bob and I have had a very lengthy discussion about the data set
>> sections. It is quite a mess. I think Bob is working on a fix, but it
>> would be useful to have this functionality here. One may have many
>> data elements in a given section, and it would be useful to be able to
>> sort/filter them efficiently.
>>
>> Regards,
>> Jason
>>
>>
>> 2010/3/9 Lars Helge Øverland <larshelge@xxxxxxxxx>:
>> >
>> >
>> > 2010/3/9 Viet Nguyen <phamquocviet@xxxxxxxxx>
>> >>
>> >>
>> >> 2010/3/9 Viet Nguyen <phamquocviet@xxxxxxxxx>
>> >>>
>> >>>>
>> >>>> Hi Viet, this looks quite elegant..
>> >>>> If the PagingUtil class is general, any chance we can move it to the
>> >>>> dhis-support-system project so that it can be used by other modules
>> >>>> if
>> >>>> required later?
>> >>>> Lars
>> >>>>
>> >>>
>> >>> Yeah, I can move the PageUtil class to dhis-support-system, paging.vm
>> >>> and
>> >>> paging.css to common-resource.
>> >>>
>> >>> If I remember correctly...I think you also have a RequestUtil class
>> >>> somewhere....
>> >>>
>> >>> Actually, to get current request path I just call the method
>> >>> request.getServletPath() , but I'm not sure  it works for all
>> >>> modules... so
>> >>> I put it in a util class, then later I can modify that link ( maybe
>> >>> add or
>> >>> remove a "/" , or something like that.... )
>> >>>
>> >>> --
>> >>> Viet Nguyen
>> >>>
>> >>
>> >> Sorry, I forgot to mention the javascript methods.
>> >>
>> >> function changePageSize( baseLink )
>> >> {
>> >>     var pageSize = jQuery("#sizeOfPage").val();
>> >>     window.location.href = baseLink +"pageSize=" + pageSize ;
>> >> }
>> >> function jumpToPage( baseLink )
>> >> {
>> >>     var pageSize = jQuery("#sizeOfPage").val();
>> >>     var currentPage = jQuery("#jumpToPage").val();
>> >>     window.location.href = baseLink +"pageSize=" + pageSize
>> >> +"&currentPage=" +currentPage;
>> >> }
>> >>
>> >> So I guess, this will have to be moved to common-resources...
>> >> Should I create new file or put it in common.js ?
>> >>
>> >
>> > commons.js would be fine. Also moving the vm templates to
>> > commons-resources
>> > is good.
>> > _______________________________________________
>> > 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:+260968395190
>>
>> _______________________________________________
>> 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:+260968395190



Follow ups

References