<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://www.webmaster-forums.net/crss/node/1043505" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title></title>
    <link>https://www.webmaster-forums.net/crss/node/1043505</link>
    <description></description>
    <language>en</language>
          <item>
    <title>The database is typically</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240142</link>
    <description> &lt;p&gt;The database is typically where I start out as well.  &#039;Object Relational Modeling&#039; (ORM) is a good way to implement a system from the database up in an object oriented environment.  ORM is a system that allows you to refer to your tables, relationships, and rows in objects.  &lt;/p&gt;
&lt;p&gt;Often (though depending on the implementation) you may &#039;describe&#039; the tables and their relationships by setting up new classes within your chosen ORM framework.  The framework will then create new tables from new objects, and alter tables from existing objects as you build/change.  It is a bit of work up front, but often pays huge dividends when changes come down the road.&lt;/p&gt;
&lt;p&gt;I believe PHP has several good implementations, I&#039;ve used &#039;PHP Doctrine&#039; with success: &lt;a href=&quot;http://www.doctrine-project.org/&quot; title=&quot;http://www.doctrine-project.org/&quot;&gt;http://www.doctrine-project.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;
Shaggy&lt;/p&gt;
 </description>
     <pubDate>Tue, 07 Apr 2009 01:13:15 +0000</pubDate>
 <dc:creator>Shaggy</dc:creator>
 <guid isPermaLink="false">comment 1240142 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>Interesting ideas Shaggy.</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240136</link>
    <description> &lt;p&gt;Interesting ideas Shaggy. I&#039;ve thought about it a little more, and I&#039;m thinking, since I am a much better at designing databases than code, maybe I should create a database that stores the requirements for each course. Then my application code could just run a simple query and check if all the requirements were met. It seems easy, perhaps too easy...&lt;/p&gt;
 </description>
     <pubDate>Mon, 06 Apr 2009 20:52:00 +0000</pubDate>
 <dc:creator>teammatt3</dc:creator>
 <guid isPermaLink="false">comment 1240136 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>Good Morning!
The first</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240090</link>
    <description> &lt;p&gt;Good Morning!&lt;/p&gt;
&lt;p&gt;The first issue was surrounding course pre-requisites.&lt;br /&gt;
I don&#039;t have any experience building online courses, but I think I can see that a course can be separated into many &#039;Tasks&#039;.&lt;/p&gt;
&lt;p&gt;In a course, &#039;Tasks&#039; might be completed by a user either seqentially, or they may bounce around a little bit picking and choosing which they want to do first, second, etc.&lt;/p&gt;
&lt;p&gt;So, I can see an &#039;Course&#039; object being the traffic cop, per-se, of delivering &#039;Tasks&#039;.  Tasks would implement a standard interface so the &#039;Course&#039; object can always determine&lt;br /&gt;
1) If a task is complete or in-complete&lt;br /&gt;
2) Is user input required: Is this going to be a machine run task, or something that requires input from the user?&lt;br /&gt;
2) What stage in a course the task should be completed&lt;br /&gt;
- prolog - before the user is able to do anything - setup&lt;br /&gt;
- body - The user&#039;s &#039;Course work&#039;&lt;br /&gt;
- epilog The end, after the user has supplied everything&lt;br /&gt;
- result - The results, after all requirements and &#039;prolog&#039; have been met&lt;br /&gt;
3) other things I haven&#039;t thought of that are &#039;tasky&#039; &lt;img src=&quot;https://www.webmaster-forums.net/misc/smileys/big.png&quot; title=&quot;Laughing out loud&quot; alt=&quot;Laughing out loud&quot; class=&quot;smiley-content&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Imagine now that your setup tasks, pre-requisite tasks, and results tasks are just &#039;Tasks&#039;, no different than a user driven question or activity in the course.&lt;/p&gt;
&lt;p&gt;You can slide in setup tasks in the prolog if you require it before the user needs to lift a finger.  You can check requirements in the epilog and instruct the &#039;Course&#039; object to have the user move back into the &#039;body&#039; of the course, and you can generate results after the course requirements are complete at the result stage.&lt;/p&gt;
&lt;p&gt;A course is never really &#039;complete&#039; until the result tasks have been delivered to the user.&lt;/p&gt;
&lt;p&gt;The administrator would build &#039;Tasks&#039;, and then glue them together inside a &#039;Course&#039;  As your &#039;Task&#039; library builds including post-course checks and results, building a course becomes little more than gluing the re-usable pieces together into a new &#039;Course&#039;.&lt;/p&gt;
&lt;p&gt;Pick it apart! Offspring is tugging on arm to go play...&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;
Shaggy.&lt;/p&gt;
 </description>
     <pubDate>Sat, 04 Apr 2009 14:49:55 +0000</pubDate>
 <dc:creator>Shaggy</dc:creator>
 <guid isPermaLink="false">comment 1240090 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>Interesting...
Maintaining,</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240083</link>
    <description> &lt;p&gt;Interesting...&lt;/p&gt;
&lt;p&gt;Maintaining, and then executing a list of child objects that implement a &#039;pre-requisite&#039; interface sounds like a logical approach.&lt;/p&gt;
&lt;p&gt;My brain is mush at the moment... let me think about it, would love to chat this through.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;
Shaggy.&lt;/p&gt;
 </description>
     <pubDate>Sat, 04 Apr 2009 02:03:47 +0000</pubDate>
 <dc:creator>Shaggy</dc:creator>
 <guid isPermaLink="false">comment 1240083 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>I&#039;m talking about the more</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240081</link>
    <description> &lt;p&gt;I&#039;m talking about the more abstract program design, not really specifics. &lt;/p&gt;
&lt;p&gt;I asked this question on another forum, and someone suggested creating a course object, that accepts two other objects, a requirements object, and a completed actions object. &lt;/p&gt;
&lt;p&gt;The requirements class is simply a list of objects that implement an interface that has one method, isMetBy(), which determines if that course has met that specific requirement. -- That&#039;s the kind of advice I&#039;m after.&lt;/p&gt;
&lt;p&gt;This application is already running, and has been for two years, but it&#039;s a nightmare for me to maintain, so I would like to rebuild it using a more intelligent technique. &lt;/p&gt;
&lt;p&gt;We don&#039;t talk much about program design on the forum, but I still wanted to ask here.&lt;/p&gt;
 </description>
     <pubDate>Sat, 04 Apr 2009 01:44:00 +0000</pubDate>
 <dc:creator>teammatt3</dc:creator>
 <guid isPermaLink="false">comment 1240081 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>teammatt3 wrote:
You&#039;re</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240080</link>
    <description> &lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;teammatt3&lt;/em&gt; wrote:&lt;/div&gt;You&#039;re writing an application that manages online courses&lt;/div&gt;So is that an offline app (for windows) that accesses online data? As I&#039;m sure you don&#039;t need advice on how to go about building a website for this...?&lt;/p&gt;
 </description>
     <pubDate>Sat, 04 Apr 2009 01:02:30 +0000</pubDate>
 <dc:creator>greg</dc:creator>
 <guid isPermaLink="false">comment 1240080 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>Is there any LMS/SCORM</title>
    <link>https://www.webmaster-forums.net/web-programming-and-application-development/how-would-you-design#comment-1240078</link>
    <description> &lt;p&gt;Is there any LMS/SCORM solution that does this? (there are some open-source GPL ones)&lt;/p&gt;
&lt;p&gt;I imagine your db could have a table for each course with a row for each user that has activity for that course, when a user has activity for that course the appropriate data would be entered in the column (test results, cumulative hours, # of lessons completed)&lt;/p&gt;
&lt;p&gt;when user completes a task, scan the corresponding table for &quot;completeness&quot;&lt;/p&gt;
&lt;p&gt;I could also imagine building this with Drupal Rules (Workflow-ng in D5)&lt;/p&gt;
 </description>
     <pubDate>Sat, 04 Apr 2009 00:35:51 +0000</pubDate>
 <dc:creator>decibel.places</dc:creator>
 <guid isPermaLink="false">comment 1240078 at https://www.webmaster-forums.net</guid>
  </item>
  </channel>
</rss>
