On Wed, Jan 22, 2014 at 3:53 PM, Daniel Renfro <[email protected]>
 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
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Reply via email to