On Wed, Jan 22, 2014 at 3:53 PM, Daniel Renfro <drenfro(a)vistaprint.com>
wrote:
Cheers Greg,
We here at Vistaprint have very little experience with SMW/SMW forms. I
personally experimented with it at my last job[1] but haven't used it in
years. Our staff directory consists of a home-rolled extension that uses
locally cached information from ActiveDirectory (via LDAP.) I also didn't
find much via Google on implementing a personnel-directory with SMW...I don't
think there is much out there. It sounds very plausible and I encourage you
to try SMW, I've heard great things about it.
Well, I tried it and succeeded at making a Company Staff Directory using
Semantic MediaWiki and the PageSchema extension. Much thanks to Yaron
Koren for his help :-)
This "PageSchema" sets up a Category entry for "Person". Using the
Page
Schema extension, you can generate the templates, properties and forms for
the object. Then, using DataTransfer I was able to inport a CSV to
populate my Company Directory with people. I did have to do a bit of
manual tweaking (for example you can't specify an uploadable file input
through PageSchema, so I had to adjust the semantic form manually.) If I
get time, I plan to implement a bigger project and/or do a writeup and
documentation.
I'd say this was a LOT faster than the time I setup an LDAP directory. Of
course it's not an LDAP directory, but it could proove to be more useful.
<PageSchema>
<semanticforms_Form name="Person">
<CreateTitle>Create a new Person</CreateTitle>
<EditTitle>Edit Person</EditTitle>
<standardInputs freeTextLabel="Free text" inputFreeText="1"
inputWatch="1" inputSave="1" inputCancel="1"/>
</semanticforms_Form>
<Template name="Person" format="standard">
<Field name="First Name">
<Label>First Name</Label>
<semanticmediawiki_Property name="">
<Type>Text</Type>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Last Name">
<Label>Last Name</Label>
<semanticmediawiki_Property name="">
<Type>Text</Type>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Company" display="nonempty">
<Label>Company</Label>
<semanticmediawiki_Property name="">
<Type>Page</Type>
<AllowedValue>Benu (Billerica)</AllowedValue>
<AllowedValue>Benu (Contractor)</AllowedValue>
<AllowedValue>Benu (India)</AllowedValue>
<AllowedValue>PrimeSoft</AllowedValue>
<AllowedValue>Tech Mahindra</AllowedValue>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>dropdown</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Department">
<Label>Department</Label>
<semanticmediawiki_Property name="">
<Type>Page</Type>
<AllowedValue>Engineering</AllowedValue>
<AllowedValue>Engineering - Tech Pubs</AllowedValue>
<AllowedValue>Engineering - Sustaining</AllowedValue>
<AllowedValue>Engineering - SQA</AllowedValue>
<AllowedValue>Manufacturing</AllowedValue>
<AllowedValue>General & Administrative</AllowedValue>
<AllowedValue>Sales Engineering</AllowedValue>
<AllowedValue>Sales</AllowedValue>
<AllowedValue>Support</AllowedValue>
<AllowedValue>Marketing</AllowedValue>
<AllowedValue>Other</AllowedValue>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>dropdown</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Manager">
<Label>Manager</Label>
<semanticmediawiki_Property name="">
<Type>Text</Type>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>text with autocomplete</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Email Address">
<Label>Email Address</Label>
<semanticmediawiki_Property name="">
<Type>Email</Type>
</semanticmediawiki_Property>
<semanticforms_FormInput/>
</Field>
<Field name="Subversion Username">
<Label>Subversion Username</Label>
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
</Field>
</Template>
<Template name="Skill" multiple="multiple"
format="plain">
<semanticforms_TemplateDetails>
<Label>Skills</Label>
</semanticforms_TemplateDetails>
<Field name="Skill Name">
<Label>Skill</Label>
<semanticmediawiki_Property name="">
<Type>Page</Type>
</semanticmediawiki_Property>
<semanticforms_FormInput>
<InputType>combobox</InputType>
</semanticforms_FormInput>
</Field>
<Field name="Photo" display="nonempty">
<Label>Photo</Label>
<semanticforms_FormInput>
<InputType>text with autocomplete</InputType>
</semanticforms_FormInput>
</Field>
</Template>
</PageSchema>
Greg Rundlett
http://eQuality-Tech.com
http://freephile.org