[pmwiki-users] possible fix for wikiform issue
John Rankin
john.rankin at affinity.co.nz
Wed Oct 24 21:27:17 CDT 2007
On Thursday, 25 October 2007 4:55 AM, Asociacion de Robotica <emarte at aiolosrd.com> wrote:
>Hi Jonh Once again.,
>
><snip>
>
>#3:
>Here comes the problem. Basically here is where everybody brake down in
>their projects. In previous discussions I have read about implemnetatios
>such of creating a gruoup for every issue/Project, having a single page for
>every issue or task using the project as a field then using the field
>project for listing. Also discussion about pagelist and fpara as a
>superwikilist markup.
>
>I commented about using a prefix or suffix for helping in not creating so
>many groups in a single implementation.
>
>Well basically I believe the main problem here is that everybody has a bunch
>of Wikiforms or Lists of things (different groups of issues, projects or
>taks, etc) and somehow there is a need to List in a single table (preferred)
>Items from different groups or Wikiforms. There is not a simple solution to
>this matter that I have read about yet.
>
>The escenario is the following (I also believe is the same situation for
>everybody in differet applications):
>
>- Let's say we have a master List of Stock Management (this could be a Book
>List, Project List, Issue List, etc.)
>- Every part we define could have a list for their properties, like a list
>of vendors, datasheets, manafuturers, etc.
>- Let's Say now that we want to create another page or project (not
>necessarily with wikiforms). This Project has a BOM (bill of materials),
>this bill of material is a list of parts that have to be taken from the
>master list. So we need someway to use the wikilist to display let's say
>Item1, item3, item5, etc from the mater list. Or there must be a way to pick
>or include a single item from that master list into our wikilist in this
>project.
>
>I hope you can understand this scenario. I believe if we can find a way to
>implement a markup or logic or maybe some code in order to be able to
>implement that scenario then a lot of people will be able to finish their
>project the way they want to and also there will be a bunch of new possible
>aplications for wikiforms.
>
>Hope this helps, any comments are welcome either from you or from any other
>who may be interested in this matter,
Let me do some "thinking out loud" -- I think the problem you describe is
closely related to the "put all the issues in one group" problem discussed
earlier. If I have a Project group and a Part group, then I think you are
describing a Project-Part group, which represents the many-to-many
relationship between Projects and Parts. One project requires many parts and
one part can be used on many projects. The name of a page in the Project-Part
group is ProjectNumber-PartNumber and this provides links back to
Project.ProjectNumber and Part.PartNumber pages. Strictly speaking, the
Project number plus the Part number uniquely identifies the page; it may
or may not be the page's physical name.
The Project and Project-Issues problem discussed earlier is a special case of
this where the relationship is one to many: one project can have many issues,
but an issue is associated with one and only one project. If we can solve the
general case of Part, Project and Project-Part, we can solve the special
case of Project and Project-Issue.
I see 2 options for the Project-Part group:
a) the name of the page is made by concatenating the Project number and the
Part number (assuming for simplicity that both are numbers; they need
not be). Thus If Project.00004 uses Part.00025, there is a page called
Project-Part.00004-00025.
b) the name of the page is a meaningless sequential number and the page
has attributes Project number and Part number. So Project-Part.12345
might have attributes [[Project.00004]] and [[Part.00025]].
My first instinct (which may not be right) is to start with option b.
Let's take the Project-Issues scenario first. I am sitting on a page
for Project.00004 and wish to raise a new issue. I click a New Issue
link on that page and it takes me to an issue form with Project.00004
already filled in. I fill in the rest of the form and create a new
page called, for example Project-Issue.00246 -- it includes a link to
Project.00004 and I can generate a list from Project.00004 of all
the issues for that project.
The Project-Part scenario is an extension of this -- there are 2 links
per Project-Part page, one to the Project and one to the Part. If I
get to the new Project-Part form from the Project page, again the
Project number will be filled in. Ideally, we would want the Part
field to be a pick list generated from the Part group, but this
feature might be added later, once the concept is proved.
To get this to work, we also need a wikilist feature that matches
on an exact field value, which interestingly is a capability
requested this very day by another user for another purpose.
I think the main features we need to create a proof of concent are:
- a way to set a field based on the name of a page in another group
- a way to list items based on the name of a page in another group
Both of these would, I think, be easier than trying to add support
for a page name prefix. Note that using attributes scales: you can
define as many links to external groups as you need; if there is a
3-way intersection (Person-Fee-Project) for example, the page has
an attribute for each link.
What do people think? In particular, is there a compelling reason
why a page *must* be called Project-Part.00004-00024 (or
Issues.Project00004-00002) rather than have these as attribute
values of the page itself? Unless there is a really compelling
reason, I'd rather not go there. It appears to me that it would
add a lot of coding complexity for little benefit.
--
JR
--
John Rankin
\_
\)
\,\__/7
/ /
( c'
\ /
/, /_/
| & * Wellington
) /
/ /,
/ (
| /
\__/
V
More information about the pmwiki-users
mailing list