Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
“Just put that in the zip code field…”<br />The Ins and Outs of Content Modeling<br />
Content management integration and consulting<br />Social networking integration<br />Custom design<br />Sioux Falls, Sout...
6 Evaluation Questions<br />For those of you shopping for a CMS and comparing options.<br />5 Implementation Tips<br />For...
Content Modeling Definition #1<br />The process of converting logical content concepts into editable, storable, manageable...
Logical Content<br />This is the desired end result of a content management requirement.<br />
Content Object<br />An XML document<br />A database record<br />
Content Fidelity<br />How closely does the content in your CMS resemble the logical content you planned on?<br />
Different systems have vastly different content modeling capabilities.Never assume that system X can accurately model your...
Evaluation Question #1<br />Does your CMS allow content modeling or structuring at all?<br />
Why model content at all?<br />
Reason #1<br />Because different content types need to be STRUCTURED differently.<br />
Content Structure Between Types<br />
Content Structure Between Types<br />
Reason #2<br />Because different content types have to be EDITED and VALIDATED differently.<br />
Automatic Form Rendering<br />Content edit form in eZ publish<br />
Input Form Validation<br />Canned and custom validation in Ektron.<br />
Reason #3<br />Because different content types have to be DISPLAYED differently.<br />
Display Template Assignment<br />Template assignment by Page Type in EPiServer<br />
Reason #4<br />Because different content types have to be MANAGED differently.<br />
Content types often act as functional boundaries for:<br />Permissions<br />Workflow<br />Navigation<br />Search<br />
URL Pattern Assignments<br />URL pattern assignment based on Content Type in Drupal<br />
Permission Assignment<br />Permission assignments by content type in eZ publish<br />
Reason #5<br />Because different content types need to be SEARCHED and ORGANIZED differently.<br />
Organization by Content Value<br />
Content Type-specific Search<br />Parametric search based a content type in eZ publish<br />
Content modeling has its roots in two disciplines:<br />Relational database design<br />Object oriented programming<br />
Relational Database Roots<br />Content Type = Table<br />Content Attribute = Field<br />Attribute Datatype = Field Datatyp...
OO Programming Roots<br />Content Type = Class<br />Content Attribute = Field, Property, Attribute<br />Attribute Datatype...
Is content management reinventing the wheel?<br />
Problems due to inefficient and inaccurate content modeling will often not surface until the project is complete.<br />By ...
Types, Attributes, and Datatypes<br />
Content on most Web sites can be roughly categorized by type.A type shares a common set of attributes and is meant to repr...
Nomenclature<br />Content Type<br />Content Class<br />SmartForm<br />Page Type<br />
Content Types<br />Content types in Drupal<br />
Content types are made up of content attributes.An attribute is a single, logical piece of information that, when combined...
Nomenclature<br />Attribute<br />Property<br />Field<br />Element<br />
Content Attributes<br />Content attributes in eZ publish.<br />
Content attributes have datatypes.<br />A datatype restricts the type of data the attribute may hold. This enables validat...
Datatypes provide:<br />Validation<br />Editing interfaces<br />Computation<br />
Attribute Datatypes<br />Content class attributes in eZ publish.<br />
Attribute Datatypes<br />Page Type Properties in EPiServer<br />
Generic Custom Fields<br />Custom fields in WordPress.<br />
Datatypes and Sorting<br />Datatypes tell the system how to treat values while sorting.<br />
Common Validation Needs<br />String is required<br />String is numeric<br />String matches a &quot;canned pattern&quot; (e...
Content Modeling Definition #2<br />Content modeling is the process of converting logical content concepts into content ty...
Implementation Tip #1<br />Think in terms of content types.  Consider the ways different content will need to be edited, v...
Evaluation Question #2<br />Does it allow you to structure content through configuration or does it require you to write c...
Code vs. Configuration<br />New Content Type in Plone<br />New Page Type in EPiServer<br />
Implementation Tip #2<br />Be careful in re-using content types for logically different content.<br />
Futureproofing is the process of designing your content model in such a way that it can be adapted to new situations with ...
Implementation Tip #3<br />To futureproof your content, speculate on and list scenarios in which the content might be used...
A Really Bad Idea<br />Things that shouldn’t be there:<br /><ul><li>Date
Author
Categories
Location
(perhaps) Image</li></li></ul><li>Implementation Tip #4<br />To futureproof your content, do not entrap multiple logical a...
Implementation Tip #5<br />Find the right balance.  Don’t overstructure your content.<br />
Datatypes<br />
Evaluation Question #3<br />What datatypes are available to structure your content?<br />
Datatypes are the building blocks of your content.<br />
Strings<br />Simple and formatted strings in WordPress<br />
Dates<br />Date entry interface in Ektron.<br />
Binary Files<br />Binary file upload in Drupal (top) and eZ publish (bottom)<br />
Repeating Properties<br />A repeating data table within an Ektron content object.<br />A one-column Matrix datatype in eZ ...
Evaluation Question #4<br />Can you write your own datatypes or customize existing datatypes?<br />
Custom Datatypes<br />Custom datatype in eZ publish<br />
Evaluation Question #5<br />How well does it manage relational content modeling?<br />
DISCRETE content modeling is structuring content within a single content object.<br />
RELATIONAL content modeling is structuring a content object in relation to other content.Requires a linking datatype or a ...
Relational Content Modeling<br />Page Link attribute in EPIServer<br />
Relational Content Modeling<br />Multiple content selection in EPiServer and Ektron<br />
Articles<br />Title<br />Body<br />Author<br />[…]<br />Articles<br />Title<br />Body<br />Author<br />[…]<br />Content Co...
Evaluation Question #6<br />How well does it handle hierarchical content?<br />
Hierarchical Content<br />Publication<br />Issue<br />Section<br />Article<br />Article<br />
Content Trees<br />The content folder structure in Ektron<br />A pure content tree in eZ publish<br />
Upcoming SlideShare
Loading in …5
×

"Just Put That In The Zip Code Field..."

7,999 views

Published on

A discussion of content modeling capabilities and practices across different Web content management systems.

Published in: Business, Technology, Education

"Just Put That In The Zip Code Field..."

  1. 1. “Just put that in the zip code field…”<br />The Ins and Outs of Content Modeling<br />
  2. 2. Content management integration and consulting<br />Social networking integration<br />Custom design<br />Sioux Falls, South Dakota<br />http://blendinteractive.com/<br />
  3. 3. 6 Evaluation Questions<br />For those of you shopping for a CMS and comparing options.<br />5 Implementation Tips<br />For those of you implementing or managing a CMS-based Web site.<br />
  4. 4. Content Modeling Definition #1<br />The process of converting logical content concepts into editable, storable, manageable, searchable content objects by breaking them down into smaller pieces and describing their data to your CMS.<br />
  5. 5. Logical Content<br />This is the desired end result of a content management requirement.<br />
  6. 6. Content Object<br />An XML document<br />A database record<br />
  7. 7.
  8. 8.
  9. 9. Content Fidelity<br />How closely does the content in your CMS resemble the logical content you planned on?<br />
  10. 10. Different systems have vastly different content modeling capabilities.Never assume that system X can accurately model your content.<br />
  11. 11. Evaluation Question #1<br />Does your CMS allow content modeling or structuring at all?<br />
  12. 12. Why model content at all?<br />
  13. 13. Reason #1<br />Because different content types need to be STRUCTURED differently.<br />
  14. 14. Content Structure Between Types<br />
  15. 15. Content Structure Between Types<br />
  16. 16. Reason #2<br />Because different content types have to be EDITED and VALIDATED differently.<br />
  17. 17. Automatic Form Rendering<br />Content edit form in eZ publish<br />
  18. 18. Input Form Validation<br />Canned and custom validation in Ektron.<br />
  19. 19. Reason #3<br />Because different content types have to be DISPLAYED differently.<br />
  20. 20. Display Template Assignment<br />Template assignment by Page Type in EPiServer<br />
  21. 21. Reason #4<br />Because different content types have to be MANAGED differently.<br />
  22. 22. Content types often act as functional boundaries for:<br />Permissions<br />Workflow<br />Navigation<br />Search<br />
  23. 23. URL Pattern Assignments<br />URL pattern assignment based on Content Type in Drupal<br />
  24. 24. Permission Assignment<br />Permission assignments by content type in eZ publish<br />
  25. 25. Reason #5<br />Because different content types need to be SEARCHED and ORGANIZED differently.<br />
  26. 26. Organization by Content Value<br />
  27. 27. Content Type-specific Search<br />Parametric search based a content type in eZ publish<br />
  28. 28. Content modeling has its roots in two disciplines:<br />Relational database design<br />Object oriented programming<br />
  29. 29. Relational Database Roots<br />Content Type = Table<br />Content Attribute = Field<br />Attribute Datatype = Field Datatype<br />
  30. 30. OO Programming Roots<br />Content Type = Class<br />Content Attribute = Field, Property, Attribute<br />Attribute Datatype = Programming Datatype<br />Content Type Inheritance = Class Inheritance<br />
  31. 31. Is content management reinventing the wheel?<br />
  32. 32. Problems due to inefficient and inaccurate content modeling will often not surface until the project is complete.<br />By that point, it’s often too late….<br />
  33. 33. Types, Attributes, and Datatypes<br />
  34. 34. Content on most Web sites can be roughly categorized by type.A type shares a common set of attributes and is meant to represent a single, logical boundary around content.<br />
  35. 35. Nomenclature<br />Content Type<br />Content Class<br />SmartForm<br />Page Type<br />
  36. 36. Content Types<br />Content types in Drupal<br />
  37. 37. Content types are made up of content attributes.An attribute is a single, logical piece of information that, when combined with other attributes, describes a type of content.<br />
  38. 38. Nomenclature<br />Attribute<br />Property<br />Field<br />Element<br />
  39. 39. Content Attributes<br />Content attributes in eZ publish.<br />
  40. 40. Content attributes have datatypes.<br />A datatype restricts the type of data the attribute may hold. This enables validation and processing<br />
  41. 41. Datatypes provide:<br />Validation<br />Editing interfaces<br />Computation<br />
  42. 42. Attribute Datatypes<br />Content class attributes in eZ publish.<br />
  43. 43. Attribute Datatypes<br />Page Type Properties in EPiServer<br />
  44. 44. Generic Custom Fields<br />Custom fields in WordPress.<br />
  45. 45. Datatypes and Sorting<br />Datatypes tell the system how to treat values while sorting.<br />
  46. 46. Common Validation Needs<br />String is required<br />String is numeric<br />String matches a &quot;canned pattern&quot; (email address, SSN, etc.)<br />String matches a regular expression<br />String falls within a list of valid values drawn from somewhere else<br />String is unique to other content<br />Date is in the past/future<br />Date is in a specific range<br />File is of a specific type<br />File is within a specific size range<br />Value X is conditional on Value Y (if one is filled in, the other can’t be blank, etc.)<br />
  47. 47. Content Modeling Definition #2<br />Content modeling is the process of converting logical content concepts into content types, attributes, and datatypes.<br />
  48. 48. Implementation Tip #1<br />Think in terms of content types. Consider the ways different content will need to be edited, validated, managed, searched and organized.<br />
  49. 49. Evaluation Question #2<br />Does it allow you to structure content through configuration or does it require you to write code or modules?<br />
  50. 50. Code vs. Configuration<br />New Content Type in Plone<br />New Page Type in EPiServer<br />
  51. 51. Implementation Tip #2<br />Be careful in re-using content types for logically different content.<br />
  52. 52. Futureproofing is the process of designing your content model in such a way that it can be adapted to new situations with a minimum of pain.<br />
  53. 53. Implementation Tip #3<br />To futureproof your content, speculate on and list scenarios in which the content might be used now and in the future.<br />
  54. 54. A Really Bad Idea<br />Things that shouldn’t be there:<br /><ul><li>Date
  55. 55. Author
  56. 56. Categories
  57. 57. Location
  58. 58. (perhaps) Image</li></li></ul><li>Implementation Tip #4<br />To futureproof your content, do not entrap multiple logical attributes into the same implemented attribute<br />
  59. 59. Implementation Tip #5<br />Find the right balance. Don’t overstructure your content.<br />
  60. 60. Datatypes<br />
  61. 61. Evaluation Question #3<br />What datatypes are available to structure your content?<br />
  62. 62. Datatypes are the building blocks of your content.<br />
  63. 63. Strings<br />Simple and formatted strings in WordPress<br />
  64. 64. Dates<br />Date entry interface in Ektron.<br />
  65. 65. Binary Files<br />Binary file upload in Drupal (top) and eZ publish (bottom)<br />
  66. 66. Repeating Properties<br />A repeating data table within an Ektron content object.<br />A one-column Matrix datatype in eZ publish.<br />
  67. 67. Evaluation Question #4<br />Can you write your own datatypes or customize existing datatypes?<br />
  68. 68. Custom Datatypes<br />Custom datatype in eZ publish<br />
  69. 69. Evaluation Question #5<br />How well does it manage relational content modeling?<br />
  70. 70. DISCRETE content modeling is structuring content within a single content object.<br />
  71. 71. RELATIONAL content modeling is structuring a content object in relation to other content.Requires a linking datatype or a content tree.<br />
  72. 72. Relational Content Modeling<br />Page Link attribute in EPIServer<br />
  73. 73. Relational Content Modeling<br />Multiple content selection in EPiServer and Ektron<br />
  74. 74. Articles<br />Title<br />Body<br />Author<br />[…]<br />Articles<br />Title<br />Body<br />Author<br />[…]<br />Content Composition<br />Article<br />Title<br />Body<br />Author<br />[…]<br />Articles<br />Title<br />Body<br />Author<br />[…]<br />is related to<br />Author<br />First Name<br />Last Name<br />[…]<br />Bureau<br />Name<br />[…]<br />was written by<br />works for<br />
  75. 75. Evaluation Question #6<br />How well does it handle hierarchical content?<br />
  76. 76. Hierarchical Content<br />Publication<br />Issue<br />Section<br />Article<br />Article<br />
  77. 77. Content Trees<br />The content folder structure in Ektron<br />A pure content tree in eZ publish<br />
  78. 78. Evaluation Question #6<br />Does it allow any inheritance of content types or values?<br />
  79. 79. Content Type Inheritance<br />Movie Review Page<br />Title<br />Body<br />META Keywords<br />META Description<br />URL<br />Studio<br />Director<br />Cast<br />Running Time<br />Star Rating<br />Music Review Page<br />Title<br />Body<br />META Keywords<br />META Description<br />URL<br />Number of Tracks<br />Genre<br />Star Rating<br />
  80. 80. Content Type Inheritance<br />Movie Review Page<br />Studio<br />Director<br />Cast<br />Running Time<br />Star Rating<br />Web Page<br />Title<br />Body<br />META Keywords<br />META Description<br />URL<br />Music Review Page<br />Number of Tracks<br />Genre<br />Star Rating<br />
  81. 81. Content Value Inheritance<br />With a pure content tree, setting a value at a specific point will cause content “below” that point to inherit the value until overridden by a new value.<br />These content objects will inherit the value applied to “News,” unless they specifically override it.<br />
  82. 82. Evaluation Questions<br />Does it allow the structuring of content?<br />Is it via code or configuration?<br />What datatypes are available?<br />Can you write or customize your own datatypes?<br />How well does it handle relational content modeling?<br />How well does it handle hierarchical content?<br />
  83. 83. Implementation Tips<br />Think in terms of content types<br />Avoid reusing content types<br />Speculate on the future uses of content<br />Do not combine logical attributes into the same implemented attribute<br />Don’t overstructure your content<br />
  84. 84. Blend Interactive<br /> http://blendinteractive.com<br />Gadgetopiahttp://gadgetopia.com<br />Content Management and IA Writing<br /> http://blendinteractive.com/services/cm/<br />Twitter<br /> “gadgetopia”<br />Email<br />deane@blendinteractive.com<br />

×