From: Antonio O. <an...@li...> - 2010-04-16 00:42:29
|
Let's say I have a form with 4 SF fields, and 3 pages making use of it: Test title 1 ============ Field 1: test value 1 Field 2: test value 2 Field 3: test value 3 Field 4: Test title 2 ============ Field 1: Field 2: test value 2 Field 3: Field 4: Test title 3 ============ Field 1: Field 2: Field 3: Field 4: I'd like to show users the level of completeness of those pages, before they realize it by clicking the titles and looking into their contents. I.e. when I show a list of all page titles (e.g. those of a category), I'd like to show under each title a "progress indicator", showing a number proportional to how much the fields of that page have been filled. So, something like: Test title 1 ###### 45% Test title 2 ## 25% Test title 3 0 % I'd also like to put different weights on fields, but let's keep it simple now. How this could be accomplished? Extensions? Core hacks? Thanks, -- Antonio |
From: Patrick N. <ma...@pa...> - 2010-04-16 02:13:49
|
Hi Antonio, On 2010-04-15 23:42 UTC Antonio Orlando wrote: > I'd like to show users the level of completeness of those pages, before > they realize it by clicking the titles and looking into their contents. > I.e. when I show a list of all page titles (e.g. those of a category), I'd > like to show under each title a "progress indicator", showing a number > proportional to how much the fields of that page have been filled. So, > something like: > > Test title 1 > ###### 45% > > Test title 2 > ## 25% > > Test title 3 > 0 % I guess you could do it with a bit of ParserFunctions foo (and the vardefine/var stuff requires VariablesExtension) and some simple math in that list page... let me do some morning exercise: ---- {{#vardefine: WF1 | 1}} <!-- Weight of field 1 --> {{#vardefine: WF2 | 1}} {{#vardefine: WF3 | 1}} {{#vardefine: WF4 | 1}} {{#vardefine: Complete | {{ #expr: {{#var: WF1}} + {{#var: WF2}} + {{#var: WF3}} + {{#var: WF4}} }} }} {{#vardefine: ActualCompleteness | {{ #expr: {{#if: {{#show: Test title 1 | ?Field 1}} | {{#var: WF1}} | 0 }} + {{#if: {{#show: Test title 1 | ?Field 2}} | {{#var: WF2}} | 0 }} + {{#if: {{#show: Test title 1 | ?Field 3}} | {{#var: WF3}} | 0 }} + {{#if: {{#show: Test title 1 | ?Field 4}} | {{#var: WF4}} | 0 }} }} }} {{#vardefine: CompletenessInPercent | {{ #expr: ( {{#var: ActualCompleteness}} / {{#var: Complete}} ) * 100 }} }} {{#vardefine: LengthOfProgressBar | {{ #expr: {{#var: ActualCompleteness}} * some factor}} }} <div style="background-color: black; width: {{#var: LengthOfProgressBar}}px"> </div> {{#var: CompletenessInPercent}}% ---- (completely untested) You can put that stuff into a template which gets used by an #ask query (format=template) to generate the table rows of your list, and replace "Test title 1" with the template variable that gets the actual page name from the #ask query. If it actually works, maybe you can write up a tip at http://smw.referata.com/wiki/Special:BrowseData/Tips? :) Patrick. -- Key ID: 0x86E346D4 http://patrick-nagel.net/key.asc Fingerprint: 7745 E1BE FA8B FBAD 76AB 2BFC C981 E686 86E3 46D4 |
From: Antonio O. <an...@li...> - 2010-04-16 08:22:36
|
Thank you very much for your replies Patrick and msevero, I'll dig into them and yes if I'll accomplish something working I'll definitely contribute on http://smw.referata.com/wiki/Special:BrowseData/Tips msevero do you have a public wiki to let mee your example in action? (just for curiosity, no real need :) -- Antonio |
From: Antonio O. <an...@li...> - 2010-06-24 18:46:19
|
Great Patrick, worked like a charme, your morning exercise produced great value! I only had a hard time to solve a problem, but Saruman on IRC was kind enough to have a look and spot my bug: since I was using {{{1}}} instead of "Test title 1" in the template to dinamically pass to the #ask query the real page titles, they where silently rendered as links, so adding "|link=none" parameter in my #ask query solved the problem. I'll write a tip on referata as soon as I finish my work. Probably someone allowed should add a little note in the docs, highlighting how the "|link=none" command could be very useful when using "|format=template": http://semantic-mediawiki.org/wiki/Help:Inline_queries#Using_templates_for_custom_formatting Thank you very much, -- Antonio > Hi Antonio, >I guess you could do it with a bit of ParserFunctions foo (and the > vardefine/var stuff requires VariablesExtension) and some simple math in > that > list page... let me do some morning exercise: > > ---- > {{#vardefine: WF1 | 1}} <!-- Weight of field 1 --> > {{#vardefine: WF2 | 1}} > {{#vardefine: WF3 | 1}} > {{#vardefine: WF4 | 1}} > > {{#vardefine: Complete | {{ > #expr: {{#var: WF1}} + {{#var: WF2}} + {{#var: WF3}} + {{#var: WF4}} }} > }} > > {{#vardefine: ActualCompleteness | {{ > #expr: {{#if: {{#show: Test title 1 | ?Field 1}} | {{#var: WF1}} | 0 > }} > + {{#if: {{#show: Test title 1 | ?Field 2}} | {{#var: WF2}} | 0 > }} > + {{#if: {{#show: Test title 1 | ?Field 3}} | {{#var: WF3}} | 0 > }} > + {{#if: {{#show: Test title 1 | ?Field 4}} | {{#var: WF4}} | 0 > }} }} > }} > > {{#vardefine: CompletenessInPercent | {{ > #expr: ( {{#var: ActualCompleteness}} > / {{#var: Complete}} ) > * 100 }} > }} > > {{#vardefine: LengthOfProgressBar | {{ > #expr: {{#var: ActualCompleteness}} * some factor}} > }} > > <div style="background-color: black; width: {{#var: > LengthOfProgressBar}}px"> </div> > {{#var: CompletenessInPercent}}% > ---- > > (completely untested) > > You can put that stuff into a template which gets used by an #ask query > (format=template) to generate the table rows of your list, and replace > "Test > title 1" with the template variable that gets the actual page name from > the > #ask query. > > If it actually works, maybe you can write up a tip at > http://smw.referata.com/wiki/Special:BrowseData/Tips? :) > > Patrick. > On 2010-04-15 23:42 UTC Antonio Orlando wrote: >> I'd like to show users the level of completeness of those pages, before >> they realize it by clicking the titles and looking into their contents. >> I.e. when I show a list of all page titles (e.g. those of a category), >> I'd >> like to show under each title a "progress indicator", showing a number >> proportional to how much the fields of that page have been filled. So, >> something like: >> >> Test title 1 >> ###### 45% >> >> Test title 2 >> ## 25% >> >> Test title 3 >> 0 % |
From: Krabina B. <kr...@kd...> - 2010-06-25 06:04:15
|
Dear Patrick, dear Antonio, wow, I'm really impressed! I haven't tried it yet but it is a great idea and there's some impresse ParserFunctions foo happening :-) Could I ask you to follow Patricks suggestion: > > If it actually works, maybe you can write up a tip at > > http://smw.referata.com/wiki/Special:BrowseData/Tips? :) A little bit of explanation around what's happening there would be a great value to us ParserFunction muggles ;-) regards, Bernhard -- Mag. Bernhard Krabina KDZ - Zentrum für Verwaltungsforschung Centre for Public Administration Research Guglgasse 13, 1110 Wien Telefon: +43 1 8923492-27, Fax: +43 1 8923492-20 Mobil: +43 676 849579-27 mailto:kr...@kd... - http://www.kdz.or.at - Plattform Verwaltungskooperation: http://www.verwaltungskooperation.at - RISER: Europäische Meldeauskunft http://www.kdz.or.at/riser ----- Ursprüngliche Mail ----- > Great Patrick, worked like a charme, your morning exercise produced > great value! > I only had a hard time to solve a problem, but Saruman on IRC was kind > enough to have a look and spot my bug: since I was using {{{1}}} > instead of "Test title 1" in the template to dinamically pass to the > #ask query > the real page titles, they where silently rendered as links, so adding > "|link=none" parameter in my #ask query solved the problem. > > I'll write a tip on referata as soon as I finish my work. > > Probably someone allowed should add a little note in the docs, > highlighting how the "|link=none" command could be very useful when > using > "|format=template": > > http://semantic-mediawiki.org/wiki/Help:Inline_queries#Using_templates_for_custom_formatting > > Thank you very much, > > -- Antonio > > > > Hi Antonio, > >I guess you could do it with a bit of ParserFunctions foo (and the > > vardefine/var stuff requires VariablesExtension) and some simple > > math in > > that > > list page... let me do some morning exercise: > > > > ---- {{#vardefine: WF1 | 1}} <!-- Weight of field 1 --> > > {{#vardefine: WF2 | 1}} > > {{#vardefine: WF3 | 1}} > > {{#vardefine: WF4 | 1}} > > > > {{#vardefine: Complete | {{ > > #expr: {{#var: WF1}} + {{#var: WF2}} + {{#var: WF3}} + {{#var: > > WF4}} }} > > }} > > > > {{#vardefine: ActualCompleteness | {{ > > #expr: {{#if: {{#show: Test title 1 | ?Field 1}} | {{#var: WF1}} | > > 0 > > }} > > + {{#if: {{#show: Test title 1 | ?Field 2}} | {{#var: WF2}} > > | 0 > > }} > > + {{#if: {{#show: Test title 1 | ?Field 3}} | {{#var: WF3}} > > | 0 > > }} > > + {{#if: {{#show: Test title 1 | ?Field 4}} | {{#var: WF4}} > > | 0 > > }} }} > > }} > > > > {{#vardefine: CompletenessInPercent | {{ > > #expr: ( {{#var: ActualCompleteness}} > > / {{#var: Complete}} ) > > * 100 }} > > }} > > > > {{#vardefine: LengthOfProgressBar | {{ > > #expr: {{#var: ActualCompleteness}} * some factor}} > > }} > > > > <div style="background-color: black; width: {{#var: > > LengthOfProgressBar}}px"> </div> {{#var: > > CompletenessInPercent}}% > > ---- > > > > (completely untested) > > > > You can put that stuff into a template which gets used by an #ask > > query (format=template) to generate the table rows of your list, and > > replace "Test > > title 1" with the template variable that gets the actual page name > > from the > > #ask query. > > > > If it actually works, maybe you can write up a tip at > > http://smw.referata.com/wiki/Special:BrowseData/Tips? :) > > > > Patrick. > > > > On 2010-04-15 23:42 UTC Antonio Orlando wrote: > >> I'd like to show users the level of completeness of those pages, > >> before they realize it by clicking the titles and looking into > >> their contents. > >> I.e. when I show a list of all page titles (e.g. those of a > >> category), I'd > >> like to show under each title a "progress indicator", showing a > >> number proportional to how much the fields of that page have been > >> filled. So, > >> something like: > >> > >> Test title 1 > >> ###### 45% > >> > >> Test title 2 > >> ## 25% > >> > >> Test title 3 > >> 0 % > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ Semediawiki-user > mailing list > Sem...@li... > https://lists.sourceforge.net/lists/listinfo/semediawiki-user |
From: Antonio O. <an...@li...> - 2010-06-25 11:39:28
|
> Could I ask you to follow Patricks suggestion: >> If it actually works, maybe you can write up a tip at I wrote that in my last message: > I'll write a tip on referata as soon as I finish my work. So yes, I'm willing to write the tip on referata, I just have no time this week. But I'm definitely going to do that, it's the minimum to give back to the community. -- Antonio > Dear Patrick, dear Antonio, > wow, I'm really impressed! I haven't tried it yet but it is a great idea > and there's some impresse ParserFunctions foo happening > Could I ask you to follow Patricks suggestion: > >> > If it actually works, maybe you can write up a tip at >> > http://smw.referata.com/wiki/Special:BrowseData/Tips? > A little bit of explanation around what's happening there would be a > great value to us ParserFunction muggles > regards, > Bernhard |
From: msevero <mi...@sh...> - 2010-04-16 02:43:13
|
Hi I have this in my template, not the same scenario but similar in aspect: [[WO percent complete::{{{WO percent complete|{{#iferror:{{#expr:{{#ask:[[Concept:Task]][[Belongs to::{{PAGENAME}}]][[Task status::finished || canceled]]|format=count}} / {{#ask:[[Concept:Task]][[Belongs to::{{PAGENAME}}]]|format=count}} * 100 round 0}}%|''no task listed''}}}}}]] I use concept so I don't have to edit the page every time to get the proper values....It worked so far Also, I use the result from the above query to a template that uses #switch to display the appropriate image bar for display enhancement. Hope that helped a bit msevero -- View this message in context: http://old.nabble.com/-SF--does-a-%22completeness-level%22-extension-exist-or-how-to-do-it--tp28262067p28262665.html Sent from the Semantic Mediawiki - User mailing list archive at Nabble.com. |