Friday, November 29, 2013
Well few days back got a requirement for creating a History reporting app, which can run reports on History Object based on Date and User. My first reaction was, "Force.com supports reporting on History Object and we don't need a app here". But after reading the docs found that there were limitations
- You cannot run report on a object which a child (in master detail relation)
- And the number of records that were displayed, I had a requirement to show around 20k records
Well now it was pretty clear that I need to develop a app that can do reporting on these child objects, but that was not so complex. Most challenging part of the requirement was to display 20k records. When playing with that many records on a VF page we generally have to think about
- View State : we cannot go beyond 132Kb, I was sure with 20k records I am going to hit the limits
- Script Limit : There is a limit on how may script we can run. And since the data from History table will require some transformation(User Name mapping,Date formatting,Field Api to Field Label etc), I was lil sceptical that I am going to hit the limits .
- Pagination : We cannot just show that many records on a single page!
- A way to implement Search , Filtering and Sorting : without sorting and search user will be almost lost !
So finally after weeks of work, A app that can show around whooping 40K records! and that too with Export, Sorting and Pagination (Filters are in for the next version).
Fetching Data |
History Reporting App |
Project Detail :http://blogforce9dev-developer-edition.ap1.force.com/ProjectDetail?id=a0290000009JZIt
Well this app shows the limit to which we can take a simple VF app. This is not limited to only History Objects, we can extend this to any Object with custom filters as per need. Currently the app is in Beta version, there are some bugs specially related to Case History, Activity History.