Glad to hear it worked out!
Have you read Yaron's MediaWiki book?  I found it quite helpful when 
investigating SMW at my last job.
[ http://www.amazon.com/Working-MediaWiki-Yaron-Koren/dp/0615720307 ]

--Daniel

From: greg.rundl...@gmail.com [mailto:greg.rundl...@gmail.com] On Behalf Of 
Greg Rundlett (freephile)
Sent: Thursday, January 30, 2014 11:52 PM
To: Daniel Renfro
Cc: MediaWiki announcements and site admin list; Daniel Barrett; Yaron Koren
Subject: Re: [MediaWiki-l] New extensions from Vistaprint


On Wed, Jan 22, 2014 at 3:53 PM, Daniel Renfro 
<dren...@vistaprint.com<mailto:dren...@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 &amp; 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



_______________________________________________
MediaWiki-l mailing list
MediaWiki-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Reply via email to