I'm new to Umbraco (using latest version, which at this time is 7.4.3) and really don't have any experience with CMSs at all, for that matter. I'm needing to give content editors a way to create many "Reports" which consist of meta data about each (Date, Title, associated downloads) and then "Sections" of the "Report", which is basically a table of contents with associated content.
Reports
Report1
Title
Date
IsArchived
Sections
Section1
Title
Content
Section2
Title
Content
Report2 ...
Each "Report" could take quite a bit of time to set up and each one's data will be reused on various web pages and in different display formats (such as list of reports vs. full report detail).
Using Umbraco, what is the best approach for this? I'd like the content editors to be able to define the report data once and then pick that data to be displayed on various pages and in different ways.
I've seen posts about using Archetype to create reusable "pickable widgets" (http://24days.in/umbraco/2015/umbraco-zeitgeist/#picked-widgets), but that seems kind of hacky and unintuitive for the editor users. Then I've seen mention of creating whole new custom sections of the BackOffice, which seems like overkill and possibly a hell of a lot of work and ramp up time to learn how to do so.
Ideas?? TIA!
Your requirement seems like the data you want to provide is dynamic (in other words, going through different documents and collect data). If you use the datatype way of persisting the report data, it should be manually edited and data might become stale..
If this report needs to be pulled at run time, it may be wise to pull the data from Umbraco at run-time and may be cache it for a while so that request for the subsequent report requests are faster..
Related
I want to select only certain rows and columns and use the same "summary of responses" feature but for limited data rather than all of it. Is this possible?
The report is with ALL DATA from this sheet - I want the exact same output but with only certain email addresses.
Google Form: bit.ly/bilvalchal_results
If I have a google spreadsheet can I make a summary of only selected data?
Yes, but I think your Title may be misleading. I thought at first you wanted any summary but now believe you want the specific format provided by Form > Show summary of responses, and that is quite different.
Is this possible?
In essence, I think not. For example, in Excel it is easy enough to avoid charting data simply by hiding it. That seems not to work here. Even deleting data in the Form responses sheet does not change the Summary of responses.
This presumably because both the Form responses sheet and the Summary of responses are distinct views of server-side data. I doubt there is a means for a user to control the code that drives the Summary of responses, whose data is gathered from the individual form submissions (as is the data shown in the responses sheet). Submissions have spawned both the sheet and the Summary but the two are independent of one another.
On the other hand.
As mentioned by #zeroCoder, equivalent results might be obtained by a user though it would seem with a considerable effort. A script may be required to set the chart type to use for each question by question type (if to avoid an ad-hoc basis, Form by Form). Once the type appropriate to each column has been determined it would be a little tedious but not difficult to create the corresponding chart. Adjusting the formatting, scales etc to match that of Summary of responses would also be tedious but with a script would not need to be purpose-built for each Form individually.
That said, I hope I am crassly mistaken and that actually it is quite easy. I suspect however you would have heard by now were that so.
Another option is to use the Awesome Tables web app. It allows filtering of your data (and more). It is available as a gadget on Google Sites.
So this doesn't use the built in feature exactly but it does the trick.
Take your sheet with all the rows and figure out which columns you want to show.
Create a new sheet called preview or whatever.
in the top cell for each column reference the row from the responses sheet like this ={'Form Responses 1'!A:A}
Then hit File>Publish to web and chose to publish your Preview sheet only.
Get your shared link (shorten it if you must).
Post that url in your form only and presto.
You win!
You need to use pivot tables here are some tutorials on how to use them:
How to create a pivot table report
Summarize your data with pivot tables
I'm new to Xcode but have been able to overcome every hurdle so far. Now I'm at a fork in the road and not sure which direction to go. My iPad app takes user input and then it generates reports based on the input. I want the reports to have as many columns as my entities have attributes, and for each attribute to be a column header and to be sortable, just like a spreadsheet. UITableview seems to let me display a dynamic number of rows, and then if I have a custom cell with several manually created labels mapped to attributes I could sort of simulate columns by having a bunch of buttons on a navigation bar that change how the table is sorted. Problem here is that if I change my data schema i need to redesign the cell view and write new code for for the sort columns. HTML also seems like an option, but it feels and looks very different for the user. There's also 3rd party, but stubbornly, I want to build it myself. Could you guys provide some guidance on the pros and cons of each option for my use case? If I go for the first one, is it possible (feasible) to write something that could auto generate the storyboard layout in the case of adding a new attribute to an entity? Platform: iPad, Language: swift, data set is not enormous (sub 100k rows, worst case), using core data, need flexibility on the reporting side - would love an interface that lets users generate their own reports (don't want my life to become custom reporting)
Are you familiar with the UICollectionView class?
Take a look at this example over at github:
https://github.com/darrarski/DRCollectionViewTableLayout-iOS
This is an excellent way to organize cells as in a spreadsheet.
There is a nice swift tutorial over here:
https://github.com/darrarski/DRCollectionViewTableLayout-iOS
My situation is that i have an external database and i should present the information in an orchard hp. The customer wants also to set new information and both should be shown via projection.
Short with simple example type book:
Books are in an external db.
Books should be set in orchard, in the orchard-db not in the external-db.
The query - projection should get both books-entities and displayed.
Is there a simple orchard-way to implement my problem?
Unfortunately, I did not find any sample for what ... Any suggestions?
Thank you
From what you've described I understand that in short you want to manage some data from an external data source as Orchard content items. This is well possible, it needs the following to happen:
Create a content type for your data.
Periodically pull in changes from the external data source.
Programmatically create content items of your new type from the data pulled in.
Since this is not an everyday scenario I don't know of any tutorials out there for this although there is at least one sample: the External Pages module does pretty much this, by pulling in Markdown pages from a Mercurial repo.
I'm a newbie to web development (and development in general) and I'm building out a rails app which scrapes data from a third party website. I'm using Nokogiri to parse for specific html elements that I'm interested in and these elements are stored in a database.
However, I'd like to save the html of the whole page I'm scraping as a back-up in case I change my mind on what type of information I want and in case the website removes the site (or updates it).
What's the best practice for storing the archived html?
Should I extract it as a string and put it in a database, write it to a log or text file, or what?
Edit:
I should have clarified a bit. I am crawling on the order of 10K websites a week and anticipate only needing to access the back-ups on once-off basis if I redefine the type of data I want.
So as an example, if was crawling UN data on country population data and originally was looking at age distributions but later realized I wanted to get the gender distributions as well, I'd want to go back to all my HTML archives and pull the data out. I don't anticipate this happening much (maybe 1-3 times a month) but when it does I'll want to retrieve it across 10K-100K listings. The task should only take a few hours to do around 10K records so I guess each website fetch should take at most a second. I don't need any versioning capability. Hope this clarifies.
I'm not sure what the "best practice" for this case is (it will vary by the specifics of your project), but as a starting point I'd suggest creating a model with a string field for the URL and a text field for the HTML itself, and save the pages there. You might add a uniqueness validator for the URL, to make sure you don't store the same HTML twice.
You could then optionally add model methods to initiate a nokogiri document from the HTML text, thus using the HTML string as the "master" record (in the DB) and generating the nokogiri document on the fly when needed. But again, as #dave-newton points out, a lot of this will depend on what you're going to do with this HTML.
I would strongly suggest saving it into a table in the same DB as the data you are scraping. Why change what works? Keep it all as you normally would, or write it all to a separate database entirely just in case and keep some form or ref to link the scraped data to the backups just in case.
I am trying to show/load different editor on different rows of a editorgridpanel. Like a textbox on one row combobox/superboxselect on another and it could be any order, random.
The conditions which dictate which editor will be shown reside in the database.
Please tell me if this is possible and if so, how do i go about it.. I have tried pulling the conditions asynchronously which are pulled on a click event for the respective column, but calling it async causes problems. Please advise
Anything is possible, but what you want to do would take a bit of work. The basic idea would be to configure the needed grid editor(s) dynamically and update the columns with the new editors when needed. Now... what would be required to make that actually work I couldn't say offhand without digging into the Ext source -- it would almost definitely require overriding default behavior in the grid and/or column model.
Pulling your conditions asynchronously would (I imagine) be too slow for the interaction of clicking on a row to edit inline. If it takes a second or more from click to configured editors, that would not be acceptable performance. I would try to find a way to send your conditions down along with the other row data if at all possible (they can be in the store's data model on the client without having to be shown in the grid).
Without knowing more about your business requirements, it might be more appropriate to ditch the editable grid and instead go with a dynamically-configured FormPanel tied to the grid. This way the interaction of clicking and then pausing slightly while the form is configured would appear to be more natural. Also, the functionality of rendering a form with a particular configuration is perfectly standard and would require nothing fancy on your end. See this example as a starting point (your form would be dynamic, but maybe the same type of interaction could work?)