Friday, June 13, 2008

Introducing Grml

Writen by Toby J. Rhodes

Creating a new markup language.

Introduction.

General Reuse Markup Langauge, or GRML, is a markup language for web browsers. It has the data definition features of character-delimited files and XML, with the hyperlinking and form support of HTML.

The purpose of this article is to show why GRML exists and how it complements HTML, XML, RSS, and character-delimited formats.

Background.

GRML is not the result of a specific plan. It was developed as a solution to another problem, namely reusing data from a web service. It began with the development of a web front-end to request content from a few web services. A data format was needed to handle responses. Having data in some arbitrary format was too limiting. Something formal was needed.

HTML and XML were considered, but they did not quite fit the front-end being developed. There needed to be another choice, one with...

support for multiple views (the front-end used a List control that has 4);


a way to define multiple sets of data for multidimensional views;


content that translates to/from other formats; and


a distinction between the display of the form and view.

Since there was no format that met all the requirements, the front-end was going to need something new. Using the front-end, it was possible to develop a format and test it for these requirements. In other words, the front-end existed before the markup language!

The format that resulted was GRML. It was designed to use forms and views, supports multiple and multidimensional views, works with existing web servers, and adapts to other formats. Once the markup language was finished, the web front-end became a web browser.

Now that the objective for GRML has been explained, the next step is to understand, in detail, why existing formats were not chosen.

Understanding Markup Languages.

Before going through the process of understanding why GRML is necessary, the existing formats need to be introduced and their design goals identified. The formats are considered from a data handling perspective, so no discussion of games, movies, music, advertising, and entertainment are mentioned.

For the purposes of creating a markup language, the two major features for browsing web pages are the form and view. A form contains any input control for user requests. A view displays content, or data from the web page without the markup tags or formatting elements.

Given the requirement of the form and view, it is possible to compare each format.

HTML is the most prevalent format on the web. It is designed for data display. There is form and view support.

XML is a minor format on the web. It is designed for data definition. It lacks form and view support.

RSS is a minor format on the web. It is designed for data definition. It lacks form support but has a view.

CSV or character-delimited formats are rarely used on the web. It is designed for data definition. It lacks form support but has a view.

Now that each format has been introduced, it is possible to understand the place for GRML on the web.

Let's begin with...

HTML.

There is really only one markup language in widespread use on the web (in other words, 99% of all web pages use this language), and that is HyperText Markup Language, or HTML. HTML describes how data is displayed. It tells the web browser how the web page looks in the web browser view. With HTML, all content is displayed in the view, including forms, text, and images. HTML decides how to display the web page.

Web page content, using HTML, is defined only for images and hyperlinks. Text content is not defined, making it incompatible to use in other formats. Therefore, adapting HTML content to other formats is the most limited of all formats considered.

The single view approach of HTML prevents dynamically switching the content in the view. There is no way to present related sets of HTML content (e.g. 2 different pages from a message board, or 4 different pages of news headlines, or 8 different pages of auction results, etc.) in the view without loading different pages and navigating between them. Hence, HTML does not support multidimensional views.

Because HTML decides the web page display, it prevents multiple views of content. HTML does not support multidimensional views and is not easy to adapt to other formats. Also, it combines the form and view in one display. For these reasons, it proved to be an inadequate choice.

Next is...

XML.

XML, or eXtensible Markup Language, is designed for adaptability. Databases, spreadsheets, CSV, or character-delimited files are all potentially able to format their data using XML. It defines what data is, rather than how it is displayed. This makes XML adaptable to other file formats.

There is no one XML document format. It is a standard for defining how to structure data. This lack of a specific data format prevents XML from defining any view of its content. It also does not define input controls for use in a form.

A lack of view support in XML prevents multiple AND multidimensional views. Without form support, a user is not able to send requests. While XML is adaptable to other formats, it is not an adequate choice.

So far, HTML and XML have proven insufficient. The next to consider is...

RSS.

RSS, or Really Simple Syndication, is a specific data format of a XML data structure. Therefore, RSS is able to support a view of its data. Also, since it is based on XML, it defines its data rather than how it is displayed. View support with data definition means that RSS supports multiple views of its content.

As an XML format, RSS lacks any form support. Input controls do not exist using XML, hence are missing from RSS. For this reason, it is not sufficient.

Only one format remains, and it is...

CSV or character-delimited.

CSV (comma separated values) or character-delimited formats are used by databases, spreadsheets, and many other data-oriented applications to store information to file. It is a format that is adaptable to other formats because it does not use any display tags. The format consists almost entirely of content, except for the character used for the delimiter.

This format has a view because it is almost entirely content and lacks markup tags. Its focus on content means that it is the most reusable of any format considered. No display tags are used, so it supports multiple views.

The lack of data definition tags means there is no way to distinguish between sets of data. Hence, CSV or character-delimited files do not support multidimensional views. In addition, it is not possible to define input controls for a form. This means no form support.

Therefore, this format is an insufficient choice. This is why it was necessary to create...

GRML.

GRML defines the form and view separately. Input controls for a form are defined separately from content used in the view. Also, content is defined explicitly in GRML, with text defined separately from hyperlinks and images. Display tags do not exist in GRML. The web browser decides how to display the web page. This means support for multiple views.

Using data definition tags allows GRML to be adaptable to other formats (HTML, XML, RSS, CSV or character-delimited). It also enables different sets of content to be named, which means support for multidimensional views.

Conclusion.

After considering all the available formats for a markup language, each lacked at least one of the listed requirements. None met the design goals of the web front-end. Therefore, it was necessary to create a new format, GRML.

Quick Reference.

HTML is used with multi-form, single-view, one dimensional, display-oriented web browsers.

GRML is used with single-form, multi-view, multidimensional, data-oriented web browsers.

RSS is used with no form, single-view, one dimensional, data-oriented web browsers.

About The Author

Developing with MFC for a couple of years now. Working at getting my new web browsers just right. Take a look at GRMLBrowser.com.

Living in Memphis, TN and it is great coz there are absolutely no major sports teams (well, except for the Grizzlies).

Fashion Design Software

Writen by Michal Moreno

The textile and Fashion industries are the second largest industrial sector in the world, second only to the food industry. As in any high volume sector, the textile and fashion industries include a large variety of sub sectors: from elite fashion designers in Europe and the United States to mass production sewing workshops in India and China, from exclusive car upholstery designers to bedding products manufacturers etc.

Given the fact that a mere 30% of textile and fashion designers and manufacturers use computer aided design (CAD) software for the design process, these sectors hold substantial market growth potential in coming years.

When you keep in mind that the other 70% still work in a completely manual process using scissors and cardboards, there is a great deal of operational and production effectiveness this industry still has to achieve in order to catch up to its complementary industries (car, aircraft, elite fashion etc.).

Given the fact that all these factories with non-computerized work processes do use different software solutions for other processes, a non-dependent software solution is necessary – if only for its hardware flexibility and the abilities to fit into any existing or newly acquired hardware.

There are a few fashion design software firms who have picked up that flag, and now make software solutions that are easier to implement. Hopefully this process in which fashion design software companies have made a step towards their clients, will make the switch to computer aided design in the fashion and textile industries an easier and faster one.

Michal Moreno is a copywriter who writes for OptiTex™ Fashion design software, which specializes in the development of innovative, easy-to-operate, 2-D and 3-D CAD/CAM Fashion Design software. Michal is also a project manager at Moreno's Inernet marketing Experts http://www.optitex.com

Thursday, June 12, 2008

Choosing The Right Contentauthoring Tool For Your Elearning Needs

Writen by Dana Fine

There are several hundred e-Learning tools out in the marketplace today. Selecting the proper course-authoring tool for developing your company's online training content is no small undertaking. Today we are going to look at some solid strategies to help you select the course-authoring tool that is right for you and for your company's e-Learning / Learning Management Systems initiative. First we will start with some basic concepts.

What is a Content-authoring Tool?

According to Wikipedia.org, "a content-authoring tool is a software application used to create multimedia content typically for delivery on the World Wide Web. Content-authoring tools may also create content in other file formats so the training can be delivered on a CD (compact disc) or in other formats for various different uses. The category of content-authoring tools includes HTML, Flash, and various types of e-Learning authoring tools."

Course-authoring tools can create online courses, while content-authoring tools create subject specific online content. Subject Specific Online Content more than likely has less features and functionality than an online course created with a course-authoring tool, but, this depends upon the software used to create the content. In the e-Learning industry, we generally use the two phrases interchangeably, and in this article, I will do so also.

What is a Learning Management System?

Learning Management Systems (LMSs) are web-based software application platforms used to plan, implement, and assess learning processes related to online and offline training administration and performance management. LMSs provide an instructor a way in which to create and deliver content, monitor learners' participation, and assess student performance. LMSs also provide learners with interactive features, such as threaded discussions, web conferencing, discussion forums, and other methods of communication.

Generally, a Learning Management System has its own online content-authoring tool as part of the overall system. There are content-authoring tools / systems out there in the market that call themselves "Learning Management Systems", but really are just front-end and / or presentation-authoring tools, with little or almost no LMS functionality. A good Learning Management System should work with many types of content-authoring tools.

In fact, many companies may start out using one or two content-authoring tools along with their Learning Management System. As their e-Learning initiative grows and changes over time, they use different types of content-authoring tools to achieve the various effects needed. This is often due to business changes and the fact that in many corporate training scenarios, a Learning Management System or other larger, more complex enterprise software systems use content-authoring tools to develop the online training content that is managed.

What does SCORM/AICC compliant mean?

SCORM stands for Sharable Courseware Object Reference Model (SCORM), which is a set of specifications that, when applied to course content, produces small, reusable e-Learning objects. A result of the Department of Defense's Advanced Distributed Learning (ADL) initiative, SCORM-compliant courseware elements are easily merged with other compliant elements to produce a highly modular repository of training materials.

AICC standards apply to the development, delivery, and evaluation of training courses that are delivered via technology. AICC stands for the Aviation Industry CBT [Computer-Based Training] Committee (AICC), which is an international association of technology-based training professionals that develops training guidelines for the aviation industry.

Many e-Learning content-authoring tools are SCORM/AICC compliant. A rule of thumb is, as long as the content-authoring tool is SCORM/AICC compliant (creates SCORM/AICC compliant courses) and the Learning Management System is SCORM/AICC compliant (works with SCORM/AICC courses), they will work together.

Factors to Consider When Evaluating Content-authoring Tools

Situational Parameters

Remember that not all tools are appropriate for all training delivery methods. It's important to consider the context in which course-authoring tools will be used. As you gather information, keep in mind that as long as your online training is founded on good instructional design principles, the interactivity produced by the authoring tool you choose will strengthen the learner's experience.

Training Objectives & Delivery Methods

What type of training are you providing? Is it a blended learning experience? Will some training be online and some in classrooms? This will help determine which course authoring tools and LMSs you can use. Will you provide training on a CD Rom? Are your learners certifying on a product, service, or procedure? Are you teaching someone to use a certain software program?

Media Needs

What types of media will you use? Does the content-authoring tool of your choice support those file types?

Resources and Ongoing Support

Do you have the resources to support the types of online training you wish to develop? Graphic designers? Appropriate subject matter experts? Voice talent? Video producers? Models? Production Designers? Outside user testing? Etc.

What about after the training is developed? Does the training need to be refreshed periodically, anywhere from in 6 months to a year or beyond? Will any tests associated with the training change on a regular basis? Will you have the right resources and support in place for any ongoing e-Learning content development needs?

Funds & Timing

How much is budgeted for the project? Will you have a team of people to develop the training? Should you outsource? What things are specific to the type of training you will be developing that may be compromised by outsourcing? How steep is the learning curve associated with the tools you are thinking of using for the project?

Interactivity

What level of interactivity is required for the training? Simulations and other dynamic learning activities are great to have, but are they really appropriate or needed for the type of online training you will be developing? Flash has become the standard tool used for many interactive learning activities. If your authoring tool works with Flash, how much more do you need?

Plug-ins

Some course-authoring tools may need plug-ins, but this has become much less of a problem in e-Learning today than it was just a few years ago. Obviously, if you are dealing with a group of learners who are not technically savvy, have older browsers (IE 4.0 or below; Netscape 4.0 or below), or mostly use slow dial up connections, plug-ins become a real liability in regards for delivering online courses.

Platforms

What platforms will the training be delivered on? Does the online training you develop have to work across a combination of platforms such as PC, MAC, UNIX or others? Does it have to work across a variety of operating systems and / or browsers?

Total Cost of Ownership

It's always best to evaluate any software or systems acquisition by looking at the total cost of ownership (TCO). TCO is a financial metric designed to help assess direct and indirect costs related to the purchase of any capital investment, such as (but not limited to) computer software or hardware. In this case, the TCO would include the cost of the application, training, upgrades, maintenance, and any other costs associated with the company owning the product over its lifetime.

Conclusion

The course-authoring tool that best meets your needs will depend entirely upon your situation. In the long run, applying due diligence during the evaluation process will save you time and money.

Dana Fine is a Senior Instructional Designer at SyberWorks, Inc. http://www.syberworks.com. SyberWorks is a custom e-Learning solutions company that specializes in Learning Management Systems, e-Learning solutions, and custom online course development. Dana is also a frequent contributor to the Online Training Content Journal http://www.boggse-learningchronicle.typepad.com/the_online_training_conte/.

Microsoft Great Plains Dynamics On Pervasive Sql2000 Data Repair Overview For Dbas

Writen by Andrew Karasev

Some introduction into Great Plains Software products, now Microsoft Business Solutions. Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. Small companies use Small Business Manager (which is based on the same technology – Great Plains Dexterity dictionary DYNAMICS.DIC and runtime DYNAMICS.EXE), Great Plains Standard on MSDE is for small to midsize clients, and then Great Plains serves the rest of the market up to big corporations.

If you are database administrator who is supporting the version on Pervasive SQL.2000/Ctree – read this and you will have the clues on where to look further.

1. Microsoft Great Plains Tables Structure – Launch Great Plains and go to Tools->Resource Description->Tables. Find the table in the proper series. If you are looking for the customers – it should be RM00101 – customer master file, account master file - GL00101, Sales Header Work file - SOP10200 - and you got the idea.

2. Use Microsoft Access. Lunch Microsoft Access and make a link to Microsoft Great Plains tables. This will allow you to do data modification/repair. Some people are trying to use Pervasive control center - we do not recommend this - MS Access does job better.

3. Locked batch repair – unlocking the batch, which was interrupted in posting. The tables: SYoo500 - batch header - you need to change Batch Status or Marked for Posting field

4. Activity table - If you have user locked in Great Plains - just ask all the other users exit and delete ACTIVITY.BTR (Pervasive) or ACTIVITY.DAT (Ctree)

5. Crystal Report link to Pervasive/Ctree - you have to install Pervasive SQL ODBC driver from Great Plains Dynamics CD. This will allow you to deploy ODBC connection to Great Plains database

6. Sometimes you have to rescue to Great Plains Dexterity- when you need ongoing data import and you do not own Great Plains Integration manager or when Integration Manager doesn't have the object to deploy. This is proprietary Great Plains Software tool and development environment and you need some time invested, before you can do programming.

7. Complex Data Migration - use MS SQL Linked Server - you can create linked server to Pervasive/ctree and then you can create the cursor, coming through all the tables in your migration set - we usually recommend reading tables schema in MS SQL Server (it is the same to Pervasive) and pull the data from Pervasive database using EXEC statement in Transact SQL.

Happy data repairing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, San Francisco, Los Angeles, San Diego, New York, Boston, Atlanta, Houston, Austin, Dallas, Miami, Atlanta, Denver, Phoenix, Minneapolis, Canada, UK, Australia, Europe, Moscow and having locations in multiple US states (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, MS Access, Crystal Reports and Microsoft CRM SDK developer.