diff --git a/docs/upgrades/upgrade_4.2.0-4.3.0.sql b/docs/upgrades/upgrade_4.2.0-4.3.0.sql index 571bfcdab..97524ba00 100644 --- a/docs/upgrades/upgrade_4.2.0-4.3.0.sql +++ b/docs/upgrades/upgrade_4.2.0-4.3.0.sql @@ -680,9 +680,387 @@ delete from international where internationalId=96; delete from international where internationalId=97; insert into international values (642,'WebGUI',1,'Page, Add/Edit'); update help set titleId=642 where helpId=1 and namespace='WebGUI'; - - - +delete from international where internationalId=603; +delete from international where internationalId=604; +delete from international where internationalId=602; +delete from international where internationalId=600; +delete from international where internationalId=599; +delete from help; + + +delete from international where internationalId=670 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (670, 'WebGUI',1,'Image, Add/Edit'); +delete from international where internationalId=625 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (625, 'WebGUI',1,'Name
\r\nThe label that this image will be referenced by to include it into pages.\r\n

\r\n\r\nFile
\r\nSelect a file from your local drive to upload to the server.\r\n

\r\n\r\nParameters
\r\nAdd any HTML &ltimg&rt; parameters that you wish to act as the defaults for this image.\r\n

\r\n\r\nExample:
\r\nalign="right"\r\nalt="This is an image"'); +delete from help where helpId=20 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (20, 'WebGUI', 670, 625, '26,WebGUI;'); +delete from international where internationalId=61 and namespace='DownloadManager' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'DownloadManager',1,'Download Manager, Add/Edit'); +delete from international where internationalId=71 and namespace='DownloadManager' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'DownloadManager',1,'The Download Manager is designed to help you manage file distribution on your site. It allows you to specify who may download files from your site.\r\n

\r\n\r\nPaginate After
\r\nHow many files should be displayed before splitting the results into separate pages? In other words, how many files should be displayed per page?\r\n

\r\n\r\nDisplay thumbnails?
\r\nCheck this if you want to display thumbnails for any images that are uploaded. Note that the thumbnail is only displayed for the main attachment, not the alternate versions.\r\n

\r\n\r\nProceed to add download?
\r\nIf you wish to start adding files to download right away, leave this checked.\r\n

\r\n\r\n'); +delete from help where helpId=1 and namespace='DownloadManager'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'DownloadManager', 61, 71, '2,DownloadManager;21,WebGUI;'); +delete from international where internationalId=673 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (673, 'WebGUI',1,'Image, Delete'); +delete from international where internationalId=628 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (628, 'WebGUI',1,'When you delete an image it will be removed from the server and cannot be recovered. Therefore, be sure that you really wish to delete the image before you confirm the delete.'); +delete from help where helpId=23 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (23, 'WebGUI', 673, 628, '26,WebGUI;'); +delete from international where internationalId=676 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (676, 'WebGUI',1,'Images, Manage'); +delete from international where internationalId=631 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (631, 'WebGUI',1,'Using the built in image manager in WebGUI you can upload images to one central location for use anywhere else in the site with no need for any special software or knowledge.\r\nYou can also create image groups to help organize your images. To do so, simply click "Add a new group."\r\n

\r\nTo place the images you\'ve uploaded use the ^I(); and ^i(); macros. More information on them can be found in the Using Macros help.\r\n

\r\nTip: You can use the ^I(); macro (and therefore the images from the image manager) in places you may not have conisdered. For instance, you could place images in the titles of your wobjects. Or in wobjects like Link List and Site Map that use bullets, you could use image manager images as the bullets.\r\n

\r\n'); +delete from help where helpId=26 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (26, 'WebGUI', 676, 631, '36,WebGUI;20,WebGUI;23,WebGUI;'); +delete from international where internationalId=678 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (678, 'WebGUI',1,'Root, Manage'); +delete from international where internationalId=633 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (633, 'WebGUI',1,'Simply put, roots are pages with no parent. The first and most important root in WebGUI is the "Home" page. Many people will never add any additional roots, but a few power users will. Those power users will create new roots for many different reasons. Perhaps they\'ll create a staging area for content managers. Or maybe a hidden area for Admin tools. Or possibly even a new root just to place their search engine.'); +delete from help where helpId=28 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (28, 'WebGUI', 678, 633, '1,WebGUI;3,WebGUI;'); +delete from international where internationalId=681 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (681, 'WebGUI',1,'Packages, Creating'); +delete from international where internationalId=636 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (636, 'WebGUI',1,'To create a package follow these simple steps:\r\n

    \r\n
  1. From the admin menu select "Manage packages."\r\n
  2. Add a page and give it a name. The name of the page will be the name of the package.\r\n
  3. Go to the new page you created and start adding pages and wobjects. Any pages or wobjects you add will be created each time this package is deployed. \r\n
\r\nNotes:
\r\nIn order to add, edit, or delete packages you must be in the Package Mangers group or in the Admins group.\r\n

\r\nIf you add content to any of the wobjects, that content will automatically be copied when the package is deployed.\r\n

\r\nPrivileges and styles assigned to pages in the package will not be copied when the package is deployed. Instead the pages will take the privileges and styles of the area to which they are deployed.'); +delete from help where helpId=31 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (31, 'WebGUI', 681, 636, '30,WebGUI;1,WebGUI;3,WebGUI;'); +delete from international where internationalId=680 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (680, 'WebGUI',1,'Package, Add'); +delete from international where internationalId=635 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (635, 'WebGUI',1,'Packages are groups of pages and wobjects that are predefined to be deployed together. A package manager may see the need to create a package several pages with a message board, an FAQ, and a Poll because that task is performed quite often. Packages are often defined to lessen the burden of repetitive tasks.\r\n

\r\nOne package that many people create is a Page/Article package. It is often the case that you want to add a page with an article on it for content. Instead of going through the steps of creating a page, going to the page, and then adding an article to the page, you may wish to simply create a package to do those steps all at once.'); +delete from help where helpId=30 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (30, 'WebGUI', 680, 635, '31,WebGUI;'); +delete from international where internationalId=675 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (675, 'WebGUI',1,'Search Engine, Using'); +delete from international where internationalId=630 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (630, 'WebGUI',1,'WebGUI has a small, but sturdy real-time search engine built-in. If you wish to use the internal search engine, you can use the ^?; macro, or by adding ?op=search to the end of any URL, or feel free to build your own form to access it.\r\n

\r\nMany people need a search engine to index their WebGUI site, plus many others. Or they have more advanced needs than what WebGUI\'s search engine allows. In those cases we recommend MnoGo Search or ht://Dig.\r\n'); +delete from help where helpId=25 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (25, 'WebGUI', 675, 630, NULL); +delete from international where internationalId=61 and namespace='Item' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'Item',1,'Item, Add/Edit'); +delete from international where internationalId=71 and namespace='Item' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'Item',1,'Like Articles, Items are the Swiss Army knife of WebGUI. Most pieces of static content can be added via the Item, though Items are usually used for smaller content than Articles.\r\n

\r\n\r\nLink URL
\r\nThis URL will be attached to the title of this Item.\r\n

\r\nExample: http://www.google.com\r\n

\r\n\r\nAttachment
\r\nIf you wish to attach a word processor file, a zip file, or any other file for download by your users, then choose it from your hard drive.\r\n\r\n'); +delete from help where helpId=1 and namespace='Item'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'Item', 61, 71, '21,WebGUI;'); +delete from international where internationalId=656 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (656, 'WebGUI',1,'Company Information, Edit'); +delete from international where internationalId=611 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (611, 'WebGUI',1,'Company Name
\r\nThe name of your company. It will appear on all emails and anywhere you use the Company Name macro.\r\n

\r\n\r\nCompany Email Address
\r\nA general email address at your company. This is the address that all automated messages will come from. It can also be used via the WebGUI macro system.\r\n

\r\n\r\nCompany URL
\r\nThe primary URL of your company. This will appear on all automated emails sent from the WebGUI system. It is also available via the WebGUI macro system.\r\n'); +delete from help where helpId=6 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (6, 'WebGUI', 656, 611, '12,WebGUI;'); +delete from international where internationalId=696 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (696, 'WebGUI',1,'Trash, Empty'); +delete from international where internationalId=651 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (651, 'WebGUI',1,'If you choose to empty your trash, any items contained in it will be lost forever. If you\'re unsure about a few items, it might be best to cut them to your clipboard before you empty the trash.'); +delete from help where helpId=46 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (46, 'WebGUI', 696, 651, ''); +delete from international where internationalId=672 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (672, 'WebGUI',1,'Profile Settings, Edit'); +delete from international where internationalId=627 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (627, 'WebGUI',1,'Profiles are used to extend the information of a particular user. In some cases profiles are important to a site, in others they are not. The profiles system is completely extensible. You can add as much information to the users profile as you like.\r\n'); +delete from help where helpId=22 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (22, 'WebGUI', 672, 627, '12,WebGUI;'); +delete from international where internationalId=61 and namespace='UserSubmission' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'UserSubmission',1,'User Submission System, Add/Edit'); +delete from international where internationalId=71 and namespace='UserSubmission' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'UserSubmission',1,'User Submission Systems are a great way to add a sense of community to any site as well as get free content from your users.\r\n

\r\n\r\nLayout
\r\nWhat should this user submission system look like? Currently these are the views available:\r\n

\r\n\r\nWho can approve?
\r\nWhat group is allowed to approve and deny content?\r\n

\r\n\r\nWho can contribute?
\r\nWhat group is allowed to contribute content?\r\n

\r\n\r\nSubmissions Per Page
\r\nHow many submissions should be listed per page in the submissions index?\r\n

\r\n\r\nDefault Status
\r\nShould submissions be set to Approved, Pending, or Denied by default?\r\n

\r\nNote: If you set the default status to Pending, then be prepared to monitor your message log for new submissions.\r\n

\r\n\r\nKarma Per Submission
\r\nHow much karma should be given to a user when they contribute to this user submission system?\r\n

\r\n\r\n\r\nDisplay thumbnails?
\r\nIf there is an image present in the submission, the thumbnail will be displayed in the Layout (see above).\r\n

\r\n\r\nAllow discussion?
\r\nDo you wish to attach a discussion to this user submission system? If you do, users will be able to comment on each submission.\r\n

\r\n\r\nWho can post?
\r\nSelect the group that is allowed to post to this discussion.\r\n

\r\n\r\nEdit Timeout
\r\nHow long (in hours) should a user be able to edit their post before editing is locked to them?\r\n

\r\nNote: Don\'t set this limit too high. One of the great things about discussions is that they are an accurate record of who said what. If you allow editing for a long time, then a user has a chance to go back and change his/her mind a long time after the original statement was made.\r\n

\r\n\r\nKarma Per Post
\r\nHow much karma should be given to a user when they post to this discussion?\r\n

\r\n\r\nWho can moderate?
\r\nSelect the group that is allowed to moderate this discussion.\r\n

\r\n\r\nModeration Type?
\r\nYou can select what type of moderation you\'d like for your users. After-the-fact means that when a user posts a message it is displayed publically right away. Pre-emptive means that a moderator must preview and approve users posts before allowing them to be publically visible. Alerts for new posts will automatically show up in the moderator\'s WebGUI Inbox.\r\n

\r\nNote: In both types of moderation the moderator can always edit or delete the messages posted by your users.\r\n

\r\n'); +delete from help where helpId=1 and namespace='UserSubmission'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'UserSubmission', 61, 71, '21,WebGUI;'); +delete from international where internationalId=674 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (674, 'WebGUI',1,'Miscellaneous Settings, Edit'); +delete from international where internationalId=629 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (629, 'WebGUI',1,'Prevent Proxy Caching
\r\nSome companies have proxy servers that cause problems with WebGUI. If you\'re experiencing problems with WebGUI, and you have a proxy server, you may want to set this setting to Yes. Beware that WebGUI\'s URLs will not be as user-friendly after this feature is turned on.\r\n\r\n\r\n

\r\nOn Critical Error
\r\nWhat do you want WebGUI to do if a critical error occurs. It can be a security risk to show debugging information, but you may want to show it if you are in development.\r\n\r\n'); +delete from help where helpId=24 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (24, 'WebGUI', 674, 629, '12,WebGUI;'); +delete from international where internationalId=61 and namespace='FAQ' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'FAQ',1,'FAQ, Add/Edit'); +delete from international where internationalId=71 and namespace='FAQ' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'FAQ',1,'It seems that almost every web site, intranet, and extranet in the world has a Frequently Asked Questions area. This wobject helps you build one, too.\r\n

\r\n\r\nTurn TOC on?
\r\nDo you wish to display a TOC (or Table of Contents) for this FAQ? A TOC is a list of links (questions) at the top of the FAQ that link down the answers.\r\n

\r\n\r\nTurn Q/A on?
\r\nSome people wish to display a Q: in front of each question and an A: in front of each answer. This switch enables that.\r\n

\r\n\r\nTurn [top] link on?
\r\nDo you wish to display a link after each answer that takes you back to the top of the page?\r\n

\r\n\r\nProceed to add question?
\r\nLeave this checked if you want to add questions to the FAQ directly after creating it.\r\n

\r\n\r\n


\r\nNote: The following style is specific to the FAQ.\r\n

\r\n.faqQuestion
\r\nAn F.A.Q. question. To distinguish it from an answer.\r\n\r\n'); +delete from help where helpId=1 and namespace='FAQ'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'FAQ', 61, 71, '2,FAQ;21,WebGUI;'); +delete from international where internationalId=663 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (663, 'WebGUI',1,'Mail Settings, Edit'); +delete from international where internationalId=618 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (618, 'WebGUI',1,'Recover Password Message
\r\nThe message that gets sent to a user when they use the "recover password" function.\r\n

\r\n\r\nSMTP Server
\r\nThis is the address of your local mail server. It is needed for all features that use the Internet email system (such as password recovery).\r\n

\r\nOptionally, if you are running a sendmail server on the same machine as WebGUI, you can also specify a path to your sendmail executable. On most Linux systems this can be found at "/usr/lib/sendmail".\r\n\r\n'); +delete from help where helpId=13 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (13, 'WebGUI', 663, 618, '12,WebGUI;'); +delete from international where internationalId=61 and namespace='SyndicatedContent' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'SyndicatedContent',1,'Syndicated Content, Add/Edit'); +delete from international where internationalId=71 and namespace='SyndicatedContent' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'SyndicatedContent',1,'Syndicated content is content that is pulled from another site using the RDF/RSS specification. This technology is often used to pull headlines from various news sites like CNN and Slashdot. It can, of course, be used for other things like sports scores, stock market info, etc.\r\n

\r\n\r\nURL to RSS file
\r\nProvide the exact URL (starting with http://) to the syndicated content\'s RDF or RSS file. The syndicated content will be downloaded from this URL hourly.\r\n

\r\nYou can find syndicated content at the following locations:\r\n

'); +delete from help where helpId=1 and namespace='SyndicatedContent'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'SyndicatedContent', 61, 71, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='EventsCalendar' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'EventsCalendar',1,'Events Calendar, Add/Edit'); +delete from international where internationalId=71 and namespace='EventsCalendar' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'EventsCalendar',1,'Events calendars are used on many intranets to keep track of internal dates that affect a whole organization. Also, Events Calendars on consumer sites are a great way to let your customers know what events you\'ll be attending and what promotions you\'ll be having.\r\n

\r\n\r\nDisplay Layout
\r\nThis can be set to List or Calendar. When set to List the events will be listed by date of occurence (and events that have already passed will not be displayed). This type of layout is best suited for Events Calendars that have only a few events per month. When set to Calendar the Events Calendar will display a traditional monthly Calendar, which can be paged through month-by-month. This type of layout is generally used when there are many events in each month.\r\n

\r\n\r\nPaginate After
\r\nWhen using the list layout, how many events should be shown per page?\r\n

\r\nProceed to add event?
\r\nLeave this set to yes if you want to add events to the Events Calendar directly after creating it.\r\n

\r\n\r\nNote: Events that have already happened will not be displayed on the events calendar.\r\n

\r\n
\r\nNote: The following style is specific to the Events Calendar.\r\n

\r\n.eventTitle
\r\nThe title of an individual event.\r\n\r\n'); +delete from help where helpId=1 and namespace='EventsCalendar'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'EventsCalendar', 61, 71, '2,EventsCalendar;21,WebGUI;'); +delete from international where internationalId=61 and namespace='MessageBoard' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'MessageBoard',1,'Message Board, Add/Edit'); +delete from international where internationalId=71 and namespace='MessageBoard' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'MessageBoard',1,'Message boards, also called Forums and/or Discussions, are a great way to add community to any site or intranet. Many companies use message boards internally to collaborate on projects.\r\n

\r\n\r\nMessages Per Page
\r\nWhen a visitor first comes to a message board s/he will be presented with a listing of all the topics (a.k.a. threads) of the Message Board. If a board is popular, it will quickly have many topics. The Messages Per Page attribute allows you to specify how many topics should be shown on one page.\r\n

\r\n\r\nWho can post?
\r\nSelect the group that is allowed to post to this discussion.\r\n

\r\n\r\nEdit Timeout
\r\nHow long (in hours) should a user be able to edit their post before editing is locked to them?\r\n

\r\nNote: Don\'t set this limit too high. One of the great things about discussions is that they are an accurate record of who said what. If you allow editing for a long time, then a user has a chance to go back and change his/her mind a long time after the original statement was made.\r\n

\r\n\r\nKarma Per Post
\r\nHow much karma should be given to a user when they post to this discussion?\r\n

\r\n\r\nWho can moderate?
\r\nSelect the group that is allowed to moderate this discussion.\r\n

\r\n\r\nModeration Type?
\r\nYou can select what type of moderation you\'d like for your users. After-the-fact means that when a user posts a message it is displayed publically right away. Pre-emptive means that a moderator must preview and approve users posts before allowing them to be publically visible. Alerts for new posts will automatically show up in the moderator\'s WebGUI Inbox.\r\n

\r\nNote: In both types of moderation the moderator can always edit or delete the messages posted by your users.\r\n

\r\n'); +delete from help where helpId=1 and namespace='MessageBoard'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'MessageBoard', 61, 71, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='LinkList' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'LinkList',1,'Link List, Add/Edit'); +delete from international where internationalId=71 and namespace='LinkList' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'LinkList',1,'Link Lists are just what they sound like, a list of links. Many sites have a links section, and this wobject just automates the process.\r\n

\r\n\r\nIndent
\r\nHow many characters should indent each link?\r\n

\r\n\r\nLine Spacing
\r\nHow many carriage returns should be placed between each link?\r\n

\r\n\r\n\r\nBullet
\r\nSpecify what bullet should be used before each line item. You can leave this blank if you want to. You can also specify HTML bullets like · and ». You can even use images from the image manager by specifying a macro like this ^I(bullet);.\r\n

\r\n\r\n\r\nProceed to add link?
\r\nLeave this set to yes if you want to add links to the Link List directly after creating it.\r\n

\r\n\r\nStyle
\r\nAn extra StyleSheet class has been added to this wobject: .linkTitle. Use this to bold, colorize, or otheriwise manipulate the title of each link.\r\n

'); +delete from help where helpId=1 and namespace='LinkList'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'LinkList', 61, 71, '2,LinkList;21,WebGUI;'); +delete from international where internationalId=671 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (671, 'WebGUI',1,'Wobjects, Using'); +delete from international where internationalId=626 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (626, 'WebGUI',1,'Wobjects (fomerly known as Widgets) are the true power of WebGUI. Wobjects are tiny pluggable applications built to run under WebGUI. Message boards and polls are examples of wobjects.\r\n

\r\nTo add a wobject to a page, first go to that page, then select Add Content... from the upper left corner of your screen. Each wobject has it\'s own help so be sure to read the help if you\'re not sure how to use it.\r\n

\r\n\r\nStyle Sheets: All wobjects have a style-sheet class and id attached to them. \r\n

\r\nThe style-sheet class is the word "wobject" plus the type of wobject it is. So for a poll the class would be "wobjectPoll". The class pertains to all wobjects of that type in the system. \r\n

\r\nThe style-sheet id is the word "wobjectId" plus the Wobject Id for that wobject instance. So if you had an Article with a Wobject Id of 94, then the id would be "wobjectId94".'); +delete from help where helpId=21 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (21, 'WebGUI', 671, 626, '1,Article;1,DownloadManager;1,EventsCalendar;1,ExtraColumn;1,FAQ;1,Item;1,LinkList;19,WebGUI;1,MailForm;1,MessageBoard;1,Poll;1,Product;1,SiteMap;1,SQLReport;18,WebGUI;1,SyndicatedContent;1,UserSubmission;1,WobjectProxy;27,WebGUI;14,WebGUI;'); +delete from international where internationalId=61 and namespace='Article' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'Article',1,'Article, Add/Edit'); +delete from international where internationalId=71 and namespace='Article' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'Article',1,'Articles are the Swiss Army knife of WebGUI. Most pieces of static content can be added via the Article.\r\n

\r\nImage
\r\nChoose an image (.jpg, .gif, .png) file from your hard drive. This file will be uploaded to the server and displayed in your article.\r\n

\r\n\r\nAlign Image
\r\nChoose where you\'d like to position the image specified above.\r\n

\r\n\r\nAttachment
\r\nIf you wish to attach a word processor file, a zip file, or any other file for download by your users, then choose it from your hard drive.\r\n

\r\n\r\nLink Title
\r\nIf you wish to add a link to your article, enter the title of the link in this field. \r\n

\r\nExample: Google\r\n

\r\n\r\nLink URL
\r\nIf you added a link title, now add the URL (uniform resource locator) here. \r\n

\r\nExample: http://www.google.com\r\n\r\n

\r\nConvert carriage returns?
\r\nIf you\'re publishing HTML there\'s generally no need to check this option, but if you aren\'t using HTML and you want a carriage return every place you hit your "Enter" key, then check this option.\r\n

\r\n\r\nAllow discussion?
\r\nChecking this box will enable responses to your article much like Articles on Slashdot.org.\r\n

\r\n\r\nWho can post?
\r\nSelect the group that is allowed to post to this discussion.\r\n

\r\n\r\nEdit Timeout
\r\nHow long (in hours) should a user be able to edit their post before editing is locked to them?\r\n

\r\nNote: Don\'t set this limit too high. One of the great things about discussions is that they are an accurate record of who said what. If you allow editing for a long time, then a user has a chance to go back and change his/her mind a long time after the original statement was made.\r\n

\r\n\r\nKarma Per Post
\r\nHow much karma should be given to a user when they post to this discussion?\r\n

\r\n\r\nWho can moderate?
\r\nSelect the group that is allowed to moderate this discussion.\r\n

\r\n\r\nModeration Type?
\r\nYou can select what type of moderation you\'d like for your users. After-the-fact means that when a user posts a message it is displayed publically right away. Pre-emptive means that a moderator must preview and approve users posts before allowing them to be publically visible. Alerts for new posts will automatically show up in the moderator\'s WebGUI Inbox.\r\n

\r\nNote: In both types of moderation the moderator can always edit or delete the messages posted by your users.\r\n

\r\n'); +delete from help where helpId=1 and namespace='Article'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'Article', 61, 71, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='ExtraColumn' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'ExtraColumn',1,'Extra Column, Add/Edit'); +delete from international where internationalId=71 and namespace='ExtraColumn' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'ExtraColumn',1,'Extra columns allow you to change the layout of your page for one page only. If you wish to have multiple columns on all your pages, perhaps you should consider altering the style applied to your pages or use a Template instead of an Extra Column. \r\n

\r\nColumns are always added from left to right. Therefore any existing content will be on the left of the new column.\r\n

\r\nSpacer
\r\nSpacer is the amount of space between your existing content and your new column. It is measured in pixels.\r\n

\r\nWidth
\r\nWidth is the actual width of the new column to be added. Width is measured in pixels.\r\n

\r\nStyleSheet Class
\r\nBy default the content style (which is the style the body of your site should be using) that is applied to all columns. However, if you\'ve created a style specifically for columns, then feel free to modify this class.\r\n'); +delete from help where helpId=1 and namespace='ExtraColumn'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'ExtraColumn', 61, 71, '21,WebGUI;'); +delete from international where internationalId=677 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (677, 'WebGUI',1,'Wobject, Add/Edit'); +delete from international where internationalId=632 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (632, 'WebGUI',1,'You can add wobjects by selecting from the Add Content pulldown menu. You can edit them by clicking on the "Edit" button that appears directly above an instance of a particular wobject.\r\n

\r\nAlmost all wobjects share some properties. Those properties are:\r\n\r\nWobject ID
\r\nThis is the unique identifier WebGUI uses to keep track of this wobject instance. Normal users should never need to be concerned with the Wobject ID, but some advanced users may need to know it for things like SQL Reports.\r\n

\r\n\r\nTitle\r\nThe title of the wobject. This is typically displayed at the top of each wobject.\r\n

\r\nNote: You should always specify a title even if you are going to turn it off (with the next property). This is because the title shows up in the trash and clipboard and you\'ll want to be able to distinguish which wobject is which.\r\n

\r\n\r\nDisplay title?
\r\nDo you wish to display the title you specified? On some sites, displaying the title is not necessary.\r\n

\r\n\r\nProcess macros?
\r\nDo you wish to process macros in the content of this wobject? Sometimes you\'ll want to do this, but more often than not you\'ll want to say "no" to this question. By disabling the processing of macros on the wobjects that don\'t use them, you\'ll speed up your web server slightly.\r\n

\r\n\r\nTemplate Position
\r\nTemplate positions range from 0 (zero) to any number. How many are available depends upon the Template associated with this page. The default template has only one template position, others may have more. By selecting a template position, you\'re specifying where this wobject should be placed within the template.\r\n

\r\n\r\nStart Date
\r\nOn what date should this wobject become visible? Before this date, the wobject will only be displayed to Content Managers.\r\n

\r\n\r\nEnd Date
\r\nOn what date should this wobject become invisible? After this date, the wobject will only be displayed to Content Managers.\r\n

\r\n\r\nDescription
\r\nA content area in which you can place as much content as you wish. For instance, even before an FAQ there is usually a paragraph describing what is contained in the FAQ.\r\n

'); +delete from help where helpId=27 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (27, 'WebGUI', 677, 632, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='Poll' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'Poll',1,'Poll, Add/Edit'); +delete from international where internationalId=71 and namespace='Poll' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'Poll',1,'Polls can be used to get the impressions of your users on various topics.\r\n

\r\nActive
\r\nIf this box is checked, then users will be able to vote. Otherwise they\'ll only be able to see the results of the poll.\r\n

\r\nWho can vote?
\r\nChoose a group that can vote on this Poll.\r\n

\r\n\r\nKarma Per Vote
\r\nHow much karma should be given to a user when they vote?\r\n

\r\n\r\nGraph Width
\r\nThe width of the poll results graph. The width is measured in pixels.\r\n

\r\nQuestion
\r\nWhat is the question you\'d like to ask your users?\r\n

\r\nAnswers
\r\nEnter the possible answers to your question. Enter only one answer per line. Polls are only capable of 20 possible answers.\r\n

\r\nReset votes.
\r\nReset the votes on this Poll.\r\n

\r\n


\r\nNote: The following style sheet entries are custom to the Poll wobject:\r\n

\r\n.pollAnswer
\r\nAn answer on a poll.\r\n

\r\n.pollColor \r\nThe color of the percentage bar on a poll.\r\n

\r\n.pollQuestion \r\nThe question on a poll.\r\n\r\n'); +delete from help where helpId=1 and namespace='Poll'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'Poll', 61, 71, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='SiteMap' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'SiteMap',1,'Site Map, Add/Edit'); +delete from international where internationalId=71 and namespace='SiteMap' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'SiteMap',1,'Site maps are used to provide additional navigation in WebGUI. You could set up a traditional site map that would display a hierarchical view of all the pages in the site. On the other hand, you could use site maps to provide extra navigation at certain levels in your site.\r\n

\r\n\r\nDisplay synopsis?
\r\nDo you wish to display page sysnopsis along-side the links to each page? Note that in order for this option to be valid, pages must have synopsis defined.\r\n

\r\n\r\nStarting from this level?
\r\nIf the Site Map should display the page tree starting from this level, then check this box. If you wish the Site Map to start from the home page then uncheck it.\r\n

\r\n\r\nDepth To Traverse
\r\nHow many levels deep of navigation should the Site Map show? If 0 (zero) is specified, it will show as many levels as there are.\r\n

\r\n\r\nIndent\r\nHow many characters should indent each level?\r\n

\r\n\r\nBullet
\r\nSpecify what bullet should be used before each line item. You can leave this blank if you want to. You can also specify HTML bullets like · and ». You can even use images from the image manager by specifying a macro like this ^I(bullet);.\r\n

\r\n\r\nLine Spacing
\r\nSpecify how many carriage returns should go between each item in the Site Map. This should be set to 1 or higher.\r\n

'); +delete from help where helpId=1 and namespace='SiteMap'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'SiteMap', 61, 71, '21,WebGUI;'); +delete from international where internationalId=61 and namespace='SQLReport' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'SQLReport',1,'SQL Report, Add/Edit'); +delete from international where internationalId=71 and namespace='SQLReport' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'SQLReport',1,'SQL Reports are perhaps the most powerful wobject in the WebGUI arsenal. They allow a user to query data from any database that they have access to. This is great for getting sales figures from your Accounting database or even summarizing all the message boards on your web site.\r\n

\r\n\r\nPreprocess macros on query?
\r\nIf you\'re using WebGUI macros in your query you\'ll want to check this box.\r\n

\r\n\r\nDebug?
\r\nIf you want to display debugging and error messages on the page, check this box.\r\n

\r\n\r\nQuery
\r\nThis is a standard SQL query. If you are unfamiliar with SQL, Plain Black Software provides training courses in SQL and database management. You can make your queries more dynamic by using the ^FormParam(); macro.\r\n

\r\n\r\nReport Template
\r\nLayout a template of how this report should look. Usually you\'ll use HTML tables to generate a report. An example is included below. If you leave this field blank a template will be generated based on your result set.\r\n

\r\n\r\nThere are special macro characters used in generating SQL Reports. They are ^-;, ^0;, ^1;, ^2;, ^3;, etc. These macros will be processed regardless of whether you checked the process macros box above. The ^- macro represents split points in the document where the report will begin and end looping. The numeric macros represent the data fields that will be returned from your query. There is an additional macro, ^rownum; that counts the rows of the query starting at 1 for use where the lines of the output need to be numbered.\r\n

\r\n

\r\nSample Template:\r\n<table>\r\n<tr><th>Employee Name</th><th>Employee #</th><th>Vacation Days Remaining</th><th>Monthly Salary</th></tr>\r\n^-;\r\n<tr><td>^0;</td><td>^1;</td><td>^2;</td><td>^3;</td></tr>\r\n^-;\r\n</table>\r\n
\r\nDSN
\r\nData Source Name is the unique identifier that Perl uses to describe the location of your database. It takes the format of DBI:[driver]:[database name]:[host]. \r\n

\r\n\r\nExample: DBI:mysql:WebGUI:localhost\r\n

\r\n\r\nDatabase User\r\nThe username you use to connect to the DSN.\r\n

\r\n\r\nDatabase Password\r\nThe password you use to connect to the DSN.\r\n

\r\n\r\nPaginate After\r\nHow many rows should be displayed before splitting the results into separate pages? In other words, how many rows should be displayed per page?\r\n

\r\n\r\nConvert carriage returns?\r\nDo you wish to convert the carriage returns in the resultant data to HTML breaks (<br>).\r\n'); +delete from help where helpId=1 and namespace='SQLReport'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'SQLReport', 61, 71, '21,WebGUI;'); +delete from international where internationalId=668 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (668, 'WebGUI',1,'Style Sheets, Using'); +delete from international where internationalId=623 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (623, 'WebGUI',1,'Cascading Style Sheets (CSS) are a great way to manage the look and feel of any web site. They are used extensively in WebGUI.\r\n

\r\n\r\nIf you are unfamiliar with how to use CSS, Plain Black Software provides training classes on XHTML and CSS. Alternatively, Bradsoft makes an excellent CSS editor called Top Style.\r\n

\r\n\r\nThe following is a list of classes used to control the look of WebGUI:\r\n

\r\n\r\nA
\r\nThe links throughout the style.\r\n

\r\n\r\nBODY
\r\nThe default setup of all pages within a style.\r\n

\r\n\r\nH1
\r\nThe headers on every page.\r\n

\r\n\r\n.accountOptions
\r\nThe links that appear under the login and account update forms.\r\n

\r\n\r\n.adminBar
\r\nThe bar that appears at the top of the page when you\'re in admin mode.\r\n

\r\n\r\n.content
\r\nThe main content area on all pages of the style.\r\n

\r\n\r\n.formDescription
\r\nThe tags on all forms next to the form elements. \r\n

\r\n\r\n.formSubtext
\r\nThe tags below some form elements.\r\n

\r\n\r\n.highlight
\r\nDenotes a highlighted item, such as which message you are viewing within a list.\r\n

\r\n\r\n.horizontalMenu
\r\nThe horizontal menu (if you use a horizontal menu macro).\r\n

\r\n\r\n.pagination
\r\nThe Previous and Next links on pages with pagination.\r\n

\r\n\r\n.selectedMenuItem
\r\nUse this class to highlight the current page in any of the menu macros.\r\n

\r\n\r\n.tableData
\r\nThe data rows on things like message boards and user contributions.\r\n

\r\n\r\n.tableHeader
\r\nThe headings of columns on things like message boards and user contributions.\r\n

\r\n\r\n.tableMenu
\r\nThe menu on things like message boards and user submissions.\r\n

\r\n\r\n.verticalMenu
\r\nThe vertical menu (if you use a vertical menu macro).\r\n

\r\n\r\nNote: Some wobjects and macros have their own unique styles sheet classes, which are documented in their individual help files.\r\n\r\n'); +delete from help where helpId=18 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (18, 'WebGUI', 668, 623, ''); +delete from international where internationalId=667 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (667, 'WebGUI',1,'Group, Add/Edit'); +delete from international where internationalId=622 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (622, 'WebGUI',1,'See Manage Group for a description of grouping functions and the default groups.\r\n

\r\n\r\nGroup Name
\r\nA name for the group. It is best if the name is descriptive so you know what it is at a glance.\r\n

\r\n\r\nDescription
\r\nA longer description of the group so that other admins and content managers (or you if you forget) will know what the purpose of this group is.\r\n\r\nExpire After
\r\nThe time (in seconds) that a user will belong to this group before s/he is expired (or removed) from it. This is very useful for membership sites where users have certain privileges for a specific period of time. Note that this can be overridden on a per-user basis.\r\n\r\nKarma Threshold
\r\nIf you\'ve enabled Karma, then you\'ll be able to set this value. Karma Threshold is the amount of karma a user must have to be considered part of this group.\r\n

\r\n'); +delete from help where helpId=17 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (17, 'WebGUI', 667, 622, '10,WebGUI;'); +delete from international where internationalId=652 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (652, 'WebGUI',1,'User Settings, Edit'); +delete from international where internationalId=607 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (607, 'WebGUI',1,'Anonymous Registration
\r\nDo you wish visitors to your site to be able to register themselves?\r\n

\r\n\r\nRun On Registration
\r\nIf there is a command line specified here, it will be executed each time a user registers anonymously.\r\n

\r\n\r\nAlert on new user?
\r\nShould someone be alerted when a new user registers anonymously?\r\n

\r\n\r\nGroup To Alert On New User
\r\nWhat group should be alerted when a new user registers?\r\n

\r\n\r\nEnable Karma?
\r\nShould karma be enabled?\r\n

\r\n\r\nKarma Per Login
\r\nThe amount of karma a user should be given when they log in. This only takes affect if karma is enabled.\r\n

\r\n\r\nSession Timeout
\r\nThe time (in seconds) that a user session remains active (before needing to log in again). This timeout is reset each time a visitor hits a page. Therefore if you set the timeout for 8 hours, a user would have to log in again if s/he hadn\'t visited the site for 8 hours.\r\n

\r\n\r\n1800 = half hour
\r\n3600 = 1 hour
\r\n28000 = 8 hours
\r\n86400 = 1 day
\r\n604800 = 1 week
\r\n1209600 = 2 weeks
\r\n

\r\n\r\nAuthentication Method (default)
\r\nWhat should the default authentication method be for new accounts that are created? The two available options are WebGUI and LDAP. WebGUI authentication means that the users will authenticate against the username and password stored in the WebGUI database. LDAP authentication means that users will authenticate against an external LDAP server.\r\n

\r\nNote: Authentication settings can be customized on a per user basis.\r\n

\r\nUsername Binding
\r\nBind the WebGUI username to the LDAP Identity. This requires the user to have the same username in WebGUI as they specified during the Anonymous Registration process. It also means that they won\'t be able to change their username later. This only in effect if the user is authenticating against LDAP.\r\n

\r\nLDAP URL (default)
\r\nThe default url to your LDAP server. The LDAP URL takes the form of ldap://[server]:[port]/[base DN]. Example: ldap://ldap.mycompany.com:389/o=MyCompany.\r\n

\r\nLDAP Identity
\r\nThe LDAP Identity is the unique identifier in the LDAP server that the user will be identified against. Often this field is shortname, which takes the form of first initial + last name. Example: jdoe. Therefore if you specify the LDAP identity to be shortname then Jon Doe would enter jdoe during the registration process.\r\n

\r\nLDAP Identity Name
\r\nThe label used to describe the LDAP Identity to the user. For instance, some companies use an LDAP server for their proxy server users to authenticate against. In the documentation or training already provided to their users, the LDAP identity is known as their Web Username
. So you could enter that label here for consitency.\r\n

\r\nLDAP Password Name
\r\nJust as the LDAP Identity Name is a label, so is the LDAP Password Name. Use this label as you would LDAP Identity Name.\r\n\r\n'); +delete from help where helpId=2 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'WebGUI', 652, 607, '12,WebGUI;'); +delete from international where internationalId=665 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (665, 'WebGUI',1,'Group, Delete'); +delete from international where internationalId=620 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (620, 'WebGUI',1,'As the function suggests you\'ll be deleting a group and removing all users from the group. Be careful not to orphan users from pages they should have access to by deleting a group that is in use.\r\n

\r\n\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.'); +delete from help where helpId=15 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (15, 'WebGUI', 665, 620, '10,WebGUI;'); +delete from international where internationalId=666 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (666, 'WebGUI',1,'Style, Add/Edit'); +delete from international where internationalId=621 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (621, 'WebGUI',1,'Styles are WebGUI macro enabled. See Using Macros for more information.\r\n

\r\n\r\nStyle Name
\r\nA unique name to describe what this style looks like at a glance. The name has no effect on the actual look of the style.\r\n

\r\n\r\nBody
\r\nThe body is quite literally the HTML body of your site. It defines how the page navigation will be laid out and many other things like logo, copyright, etc. At bare minimum a body must consist of a few things. The following is that bare minimum:\r\n

\r\n<body>\r\n^AdminBar;\r\n^-;\r\n</body^gt;\r\n
\r\n

\r\n\r\nThe ^AdminBar; macro tells WebGUI where to display admin functions. The ^-; (splitter) macro tells WebGUI where to put the content of your page.\r\n

\r\n\r\nIf you are in need of assistance for creating a look for your site, or if you need help cutting apart your design, Plain Black Software provides support services for a small fee.\r\n

\r\n\r\nMany people will add WebGUI macros to their body for automated navigation, and other features.\r\n

\r\n\r\nStyle Sheet
\r\nPlace your style sheet entries here. Style sheets are used to control colors, sizes, and other properties of the elements on your site. See Using Style Sheets for more information.\r\n

\r\n\r\nAdvanced Users: for greater performance create your stylesheet on the file system (call it something like webgui.css) and add an entry like this to this area: \r\n<link href="/webgui.css" rel="stylesheet" rev="stylesheet" type="text/css">'); +delete from help where helpId=16 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (16, 'WebGUI', 666, 621, '9,WebGUI;'); +delete from international where internationalId=664 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (664, 'WebGUI',1,'Wobject, Delete'); +delete from international where internationalId=619 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (619, 'WebGUI',1,'This function permanently deletes the selected wobject from a page. If you are unsure whether you wish to delete this content you may be better served to cut the content to the clipboard until you are certain you wish to delete it.\r\n

\r\n\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.'); +delete from help where helpId=14 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (14, 'WebGUI', 664, 619, '21,WebGUI;'); +delete from international where internationalId=662 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (662, 'WebGUI',1,'Settings, Manage'); +delete from international where internationalId=617 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (617, 'WebGUI',1,'Settings are items that allow you to adjust WebGUI to your particular needs.\r\n

\r\n\r\nEdit Company Information
\r\nInformation specific about the company or individual who controls this installation of WebGUI.\r\n

\r\n\r\nEdit Content Settings
\r\nSettings related to content and content management.\r\n

\r\n\r\nEdit Mail Settings
\r\nSettings concerning email and related functions.\r\n

\r\n\r\nEdit Miscellaneous Settings
\r\nAnything we couldn\'t find a place for.\r\n

\r\n\r\nEdit Profile Settings
\r\nDefine what user profiles look like and what the users have the ability to edit.\r\n

\r\n\r\nEdit User Settings
\r\nSettings relating to users (beyond profile information), like authentication information, and registration options.\r\n

\r\n\r\n'); +delete from help where helpId=12 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (12, 'WebGUI', 662, 617, '6,WebGUI;29,WebGUI;13,WebGUI;24,WebGUI;22,WebGUI;2,WebGUI;'); +delete from international where internationalId=660 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (660, 'WebGUI',1,'Groups, Manage'); +delete from international where internationalId=615 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (615, 'WebGUI',1,'Groups are used to subdivide privileges and responsibilities within the WebGUI system. For instance, you may be building a site for a classroom situation. In that case you might set up a different group for each class that you teach. You would then apply those groups to the pages that are designed for each class.\r\n

\r\n\r\nThere are several groups built into WebGUI. They are as follows:\r\n

\r\n\r\nAdmins
\r\nAdmins are users who have unlimited privileges within WebGUI. A user should only be added to the admin group if they oversee the system. Usually only one to three people will be added to this group.\r\n

\r\n\r\nContent Managers
\r\nContent managers are users who have privileges to add, edit, and delete content from various areas on the site. The content managers group should not be used to control individual content areas within the site, but to determine whether a user can edit content at all. You should set up additional groups to separate content areas on the site.\r\n

\r\n\r\nEveryone
\r\nEveryone is a magic group in that no one is ever physically inserted into it, but yet all members of the site are part of it. If you want to open up your site to both visitors and registered users, use this group to do it.\r\n

\r\n\r\nPackage Managers
\r\nUsers that have privileges to add, edit, and delete packages of wobjects and pages to deploy.\r\n

\r\n\r\nRegistered Users
\r\nWhen users are added to the system they are put into the registered users group. A user should only be removed from this group if their account is deleted or if you wish to punish a troublemaker.\r\n

\r\n\r\nStyle Managers
\r\nUsers that have privileges to edit styles for this site. These privileges do not allow the user to assign privileges to a page, just define them to be used.\r\n

\r\n\r\nTemplate Managers
\r\nUsers that have privileges to edit templates for this site.\r\n

\r\n\r\nVisitors
\r\nVisitors are users who are not logged in using an account on the system. Also, if you wish to punish a registered user you could remove him/her from the Registered Users group and insert him/her into the Visitors group.'); +delete from help where helpId=10 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (10, 'WebGUI', 660, 615, '17,WebGUI;15,WebGUI;8,WebGUI;'); +delete from international where internationalId=658 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (658, 'WebGUI',1,'Users, Manage'); +delete from international where internationalId=613 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (613, 'WebGUI',1,'Users are the accounts in the system that are given rights to do certain things. There are two default users built into the system: Admin and Visitor.\r\n

\r\n\r\nAdmin
\r\nAdmin is exactly what you\'d expect. It is a user with unlimited rights in the WebGUI environment. If it can be done, this user has the rights to do it.\r\n

\r\n\r\nVisitor
\r\nVisitor is exactly the opposite of Admin. Visitor has no rights what-so-ever. By default any user who is not logged in is seen as the user Visitor.\r\n

\r\n\r\nAdd a new user.
\r\nClick on this to go to the add user screen.\r\n

\r\n\r\nSearch
\r\nYou can search users based on username and email address. You can do partial searches too if you like.'); +delete from help where helpId=8 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (8, 'WebGUI', 658, 613, '10,WebGUI;32,WebGUI;5,WebGUI;7,WebGUI;'); +delete from international where internationalId=659 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (659, 'WebGUI',1,'Styles, Manage'); +delete from international where internationalId=614 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (614, 'WebGUI',1,'Styles are used to manage the look and feel of your WebGUI pages. With WebGUI, you can have an unlimited number of styles, so your site can take on as many looks as you like. You could have some pages that look like your company\'s brochure, and some pages that look like Yahoo!®. You could even have some pages that look like pages in a book. Using style management, you have ultimate control over all your designs.\r\n

\r\n\r\nThere are several styles built into WebGUI. The first of these are used by WebGUI can should not be edited or deleted. The last few are simply example styles and may be edited or deleted as you please.\r\n

\r\n\r\nClipboard
\r\nThis style is used by the clipboard system.\r\n

\r\n\r\nFail Safe
\r\nWhen you delete a style that is still in use on some pages, the Fail Safe style will be applied to those pages. This style has a white background and simple navigation.\r\n

\r\n\r\nMake Page Printable
\r\nThis style is used if you place an ^r; macro on your pages and the user clicks on it. This style allows you to put a simple logo and copyright message on your printable pages.\r\n

\r\n\r\nPackages
\r\nThis style is used by the package management system.\r\n

\r\n\r\nTrash
\r\nThis style is used by the trash system.\r\n

\r\n\r\n


\r\n

\r\n\r\nDemo Style
\r\nThis is a sample design taken from a templates site (www.freewebtemplates.com).\r\n

\r\n\r\nPlain Black Software (black) & (white)
\r\nThese designs are used on the Plain Black site.\r\n

\r\n\r\nYahoo!®
\r\nThis is the design of the Yahoo!® site. (Used without permission.)\r\n

\r\n\r\nWebGUI
\r\nThis is a simple design featuring WebGUI logos.\r\n\r\n'); +delete from help where helpId=9 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (9, 'WebGUI', 659, 614, '19,WebGUI;18,WebGUI;16,WebGUI;4,WebGUI;'); +delete from international where internationalId=657 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (657, 'WebGUI',1,'User, Delete'); +delete from international where internationalId=612 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (612, 'WebGUI',1,'There is no need to ever actually delete a user. If you are concerned with locking out a user, then simply change their password. If you truely wish to delete a user, then please keep in mind that there are consequences. If you delete a user any content that they added to the site via wobjects (like message boards and user contributions) will remain on the site. However, if another user tries to visit the deleted user\'s profile they will get an error message. Also if the user ever is welcomed back to the site, there is no way to give him/her access to his/her old content items except by re-adding the user to the users table manually.\r\n

\r\n\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.'); +delete from help where helpId=7 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (7, 'WebGUI', 657, 612, '8,WebGUI;'); +delete from international where internationalId=682 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (682, 'WebGUI',1,'User Profile, Edit'); +delete from international where internationalId=637 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (637, 'WebGUI',1,'Email Address
\r\nThe user\'s email address. This must only be specified if the user will partake in functions that require email.\r\n

\r\n\r\nLanguage
\r\nWhat language should be used to display system related messages.\r\n

\r\n\r\nICQ UIN
\r\nThe ICQ UIN is the "User ID Number" on the ICQ network. ICQ is a very popular instant messaging platform.\r\n'); +delete from help where helpId=32 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (32, 'WebGUI', 682, 637, '8,WebGUI;'); +delete from international where internationalId=655 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (655, 'WebGUI',1,'User, Add/Edit'); +delete from international where internationalId=610 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (610, 'WebGUI',1,'See Manage Users for additional details.\r\n

\r\n\r\nUsername
\r\nUsername is a unique identifier for a user. Sometimes called a handle, it is also how the user will be known on the site. (Note: Administrators have unlimited power in the WebGUI system. This also means they are capable of breaking the system. If you rename or create a user, be careful not to use a username already in existance.)\r\n

\r\n\r\nPassword
\r\nA password is used to ensure that the user is who s/he says s/he is.\r\n

\r\n\r\nAuthentication Method
\r\nSee Edit Settings for details.\r\n

\r\n\r\nLDAP URL
\r\nSee Edit Settings for details.\r\n

\r\n\r\nConnect DN
\r\nThe Connect DN is the cn (or common name) of a given user in your LDAP database. It should be specified as cn=John Doe. This is, in effect, the username that will be used to authenticate this user against your LDAP server.\r\n

\r\n\r\n\r\n\r\n'); +delete from help where helpId=5 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (5, 'WebGUI', 655, 610, '8,WebGUI;'); +delete from international where internationalId=653 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (653, 'WebGUI',1,'Page, Delete'); +delete from international where internationalId=608 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (608, 'WebGUI',1,'Deleting a page can create a big mess if you are uncertain about what you are doing. When you delete a page you are also deleting the content it contains, all sub-pages connected to this page, and all the content they contain. Be certain that you have already moved all the content you wish to keep before you delete a page.\r\n

\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.'); +delete from help where helpId=3 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (3, 'WebGUI', 653, 608, '1,WebGUI;'); +delete from international where internationalId=654 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (654, 'WebGUI',1,'Style, Delete'); +delete from international where internationalId=609 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (609, 'WebGUI',1,'When you delete a style all pages using that style will be reverted to the fail safe (default) style. To ensure uninterrupted viewing, you should be sure that no pages are using a style before you delete it.\r\n

\r\n\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.'); +delete from help where helpId=4 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (4, 'WebGUI', 654, 609, '9,WebGUI;'); +delete from international where internationalId=642 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (642, 'WebGUI',1,'Page, Add/Edit'); +delete from international where internationalId=606 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (606, 'WebGUI',1,'Think of pages as containers for content. For instance, if you want to write a letter to the editor of your favorite magazine you\'d get out a notepad (or open a word processor) and start filling it with your thoughts. The same is true with WebGUI. Create a page, then add your content to the page.\r\n

\r\nTitle
\r\nThe title of the page is what your users will use to navigate through the site. Titles should be descriptive, but not very long.\r\n

\r\nMenu Title
\r\nA shorter or altered title to appear in navigation. If left blank this will default to Title.\r\n

\r\nPage URL
\r\nWhen you create a page a URL for the page is generated based on the page title. If you are unhappy with the URL that was chosen, you can change it here.\r\n

\r\nTemplate
\r\nBy default, WebGUI has one big content area to place wobjects. However, by specifying a template other than the default you can sub-divide the content area into several sections.\r\n

\r\nSynopsis
\r\nA short description of a page. It is used to populate default descriptive meta tags as well as to provide descriptions on Site Maps.\r\n

\r\nMeta Tags
\r\nMeta tags are used by some search engines to associate key words to a particular page. There is a great site called Meta Tag Builder that will help you build meta tags if you\'ve never done it before.\r\n

\r\nAdvanced Users: If you have other things (like JavaScript) you usually put in the area of your pages, you may put them here as well.\r\n

\r\nUse default meta tags?
\r\nIf you don\'t wish to specify meta tags yourself, WebGUI can generate meta tags based on the page title and your company\'s name. Check this box to enable the WebGUI-generated meta tags.\r\n

\r\nStyle
\r\nBy default, when you create a page, it inherits a few traits from its parent. One of those traits is style. Choose from the list of styles if you would like to change the appearance of this page. See Add Style for more details.\r\n

\r\nIf you select "Yes" below the style pull-down menu, all of the pages below this page will take on the style you\'ve chosen for this page.\r\n

\r\n\r\nStart Date
\r\nThe date when users may begin viewing this page. Note that before this date only content managers with the rights to edit this page will see it.\r\n

\r\n\r\nEnd Date
\r\nThe date when users will stop viewing this page. Note that after this date only content managers with the rights to edit this page will see it.\r\n

\r\n\r\n\r\nOwner
\r\nThe owner of a page is usually the person who created the page.\r\n

\r\nOwner can view?
\r\nCan the owner view the page or not?\r\n

\r\nOwner can edit?
\r\nCan the owner edit the page or not? Be careful, if you decide that the owner cannot edit the page and you do not belong to the page group, then you\'ll lose the ability to edit this page.\r\n

\r\nGroup
\r\nA group is assigned to every page for additional privilege control. Pick a group from the pull-down menu.\r\n

\r\nGroup can view?
\r\nCan members of this group view this page?\r\n

\r\nGroup can edit?
\r\nCan members of this group edit this page?\r\n

\r\nAnybody can view?
\r\nCan any visitor or member regardless of the group and owner view this page?\r\n

\r\nAnybody can edit?
\r\nCan any visitor or member regardless of the group and owner edit this page?\r\n

\r\nYou can optionally recursively give these privileges to all pages under this page.\r\n'); +delete from help where helpId=1 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'WebGUI', 642, 606, '3,WebGUI;'); +delete from international where internationalId=679 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (679, 'WebGUI',1,'Content Settings, Edit'); +delete from international where internationalId=634 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (634, 'WebGUI',1,'Default Home Page
\r\nSome really small sites don\'t have a home page, but instead like to use one of their internal pages like "About Us" or "Company Information" as their home page. For that reason, you can set the default page of your site to any page in the site. That page will be the one people go to if they type in just your URL http://www.mywebguisite.com, or if they click on the Home link generated by the ^H; macro.\r\n

\r\n\r\nNot Found Page
\r\nIf a page that a user requests is not found in the system, the user can be redirected to the home page or to an error page where they can attempt to find what they were looking for. You decide which is better for your users.\r\n

\r\n\r\nDocument Type Declaration
\r\nThese days it is very common to have a wide array of browsers accessing your site, including automated browsers like search engine spiders. Many of those browsers want to know what kind of content you are serving. The doctype tag allows you to specify that. By default WebGUI generates HTML 4.0 compliant content.\r\n

\r\n\r\nAdd edit stamp to posts?
\r\nTypically if a user edits a post on a message board, a stamp is added to that post to identify who made the edit, and at what time. On some sites that information is not necessary, therefore you can turn it off here.\r\n

\r\n\r\nFilter Contributed HTML
\r\nEspecially when running a public site where anybody can post to your message boards or user submission systems, it is often a good idea to filter their content for malicious code that can harm the viewing experience of your visitors; And in some circumstances, it can even cause security problems. Use this setting to select the level of filtering you wish to apply.\r\n

\r\n\r\nMaximum Attachment Size
\r\nThe size (in kilobytes) of the maximum allowable attachment to be uploaded to your system.\r\n

\r\n\r\nMax Image Size
\r\nIf images are uploaded to your system that are bigger than the max image size, then they will be resized to the max image size. The max image size is measured in pixels and will use the size of the longest side of the image to determine if the limit has been reached.\r\n

\r\n\r\nThumbnail Size
\r\nWhen images are uploaded to your system, they will automatically have thumbnails generated at the size specified here. Thumbnail size is measured in pixels.\r\n\r\nText Area Rows
\r\nSome sites wish to control the size of the forms that WebGUI generates. With this setting you can specify how many rows of characters will be displayed in textareas on the site.\r\n

\r\n\r\nText Area Columns
\r\nSome sites wish to control the size of the forms that WebGUI generates. With this setting you can specify how many columns of characters will be displayed in textareas on the site.\r\n

\r\n\r\nText Box Size
\r\nSome sites wish to control the size of the forms that WebGUI generates. With this setting you can specify how characters can be displayed at once in text boxes on the site.\r\n

\r\n\r\nEditor To Use
\r\nWebGUI has a very sophisticated Rich Editor that allows users to fomat content as though they were in Microsoft Word® or some other word processor. To use that functionality, select "Built-In Editor". Sometimes web sites have the need for even more complex rich editors for things like Spell Check. For that reason you can install an 3rd party editor called Real Objects Edit-On Pro® rich text editor. After you\'ve installed it change this option. If you need detailed instructions on how to integrate Edit-On Pro®), you can find them in Ruling WebGUI.\r\n

\r\n'); +delete from help where helpId=29 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (29, 'WebGUI', 679, 634, '12,WebGUI;'); +delete from international where internationalId=683 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (683, 'WebGUI',1,'Templates, Manage'); +delete from international where internationalId=638 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (638, 'WebGUI',1,'Templates are used to affect how pages are laid out in WebGUI. For instance, most sites these days have more than just a menu and one big text area. Many of them have three or four columns preceeded by several headers and/or banner areas. WebGUI accomodates complex layouts through the use of Templates. There are several templates that come with WebGUI to make life easier for you, but you can create as many as you\'d like.'); +delete from help where helpId=33 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (33, 'WebGUI', 683, 638, '34,WebGUI;35,WebGUI;'); +delete from international where internationalId=684 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (684, 'WebGUI',1,'Template, Add/Edit'); +delete from international where internationalId=639 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (639, 'WebGUI',1,'Template Name
\r\nGive this template a descriptive name so that you\'ll know what it is when you\'re applying the template to a page.\r\n

\r\n\r\nTemplate
\r\nCreate your template by placing the special macros ^0; ^1; ^2; and so on in your template to represent the different content areas. Typically this is done by using a table to position the content. The following is an example of a template with two content areas side by side:\r\n

\r\n

\r\n<table>\r\n  <tr>\r\n    <td>^0;</td>\r\n    <td>^1;</td>\r\n  </tr>\r\n</table>\r\n
\r\n

\r\nAlso be sure to take a look at the templates that come with WebGUI for ideas.\r\n'); +delete from help where helpId=34 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (34, 'WebGUI', 684, 639, '33,WebGUI;'); +delete from international where internationalId=685 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (685, 'WebGUI',1,'Template, Delete'); +delete from international where internationalId=640 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (640, 'WebGUI',1,'It is not a good idea to delete templates as you never know what kind of adverse affect it may have on your site (some pages may still be using the template). If you should choose to delete a template, all the pages still using the template will be set to the "Default" template.'); +delete from help where helpId=35 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (35, 'WebGUI', 685, 640, '33,WebGUI;'); +delete from international where internationalId=669 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (669, 'WebGUI',1,'Macros, Using'); +delete from international where internationalId=624 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (624, 'WebGUI',1,'WebGUI macros are used to create dynamic content within otherwise static content. For instance, you may wish to show which user is logged in on every page, or you may wish to have a dynamically built menu or crumb trail. \r\n

\r\nMacros always begin with a carat (^) and follow with at least one other character and ended with w semicolon (;). Some macros can be extended/configured by taking the format of ^x("config text");. The following is a description of all the macros in the WebGUI system.\r\n

\r\n\r\n^a; or ^a(); - My Account Link
\r\nA link to your account information. In addition you can change the link text by creating a macro like this ^a("Account Info");. \r\n

\r\nNotes: You can also use the special case ^a(linkonly); to return only the URL to the account page and nothing more. Also, the .myAccountLink style sheet class is tied to this macro.\r\n

\r\n\r\n^AdminBar;
\r\nPlaces the administrative tool bar on the page. This is a required element in the "body" segment of the Style Manager.\r\n

\r\n\r\n^AdminText();
\r\nDisplays a small text message to a user who is in admin mode. Example: ^AdminText("You are in admin mode!");\r\n

\r\n\r\n^AdminToggle;
\r\nPlaces a link on the page which is only visible to content managers and adminstrators. The link toggles on/off admin mode.\r\n

\r\n\r\n^C; or ^C(); - Crumb Trail
\r\nA dynamically generated crumb trail to the current page. You can optionally specify a delimeter to be used between page names by using ^C(::);. The default delimeter is >.\r\n

\r\nNote: The .crumbTrail style sheet class is tied to this macro.\r\n

\r\n\r\n^c; - Company Name
\r\nThe name of your company specified in the settings by your Administrator.\r\n

\r\n\r\n^D; or ^D(); - Date
\r\nThe current date and time.\r\n

\r\nYou can configure the date by using date formatting symbols. For instance, if you created a macro like this ^D("%c %D, %y"); it would output September 26, 2001. The following are the available date formatting symbols:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
%%%
%y4 digit year
%Y2 digit year
%m2 digit month
%Mvariable digit month
%cmonth name
%d2 digit day of month
%Dvariable digit day of month
%wday of week name
%h2 digit base 12 hour
%Hvariable digit base 12 hour
%j2 digit base 24 hour
%Jvariable digit base 24 hour
%plower case am/pm
%Pupper case AM/PM
%zuser preference date format
%Zuser preference time format
\r\n

\r\n\r\n^e; - Company Email Address
\r\nThe email address for your company specified in the settings by your Administrator.\r\n

\r\n\r\n^Env()
\r\nCan be used to display a web server environment variable on a page. The environment variables available on each server are different, but you can find out which ones your web server has by going to: http://www.yourwebguisite.com/env.pl\r\n

\r\nThe macro should be specified like this ^Env("REMOTE_ADDR");\r\n

\r\n\r\n^Execute();
\r\nAllows a content manager or administrator to execute an external program. Takes the format of ^Execute("/this/file.sh");.\r\n

\r\n\r\n^Extras;
\r\nReturns the path to the WebGUI "extras" folder, which contains things like WebGUI icons.\r\n

\r\n\r\n^FlexMenu;
\r\nThis menu macro creates a top-level menu that expands as the user selects each menu item.\r\n

\r\n\r\n^FormParam();
\r\nThis macro is mainly used in generating dynamic queries in SQL Reports. Using this macro you can pull the value of any form field simply by specifing the name of the form field, like this: ^FormParam("phoneNumber");\r\n

\r\n\r\n^GroupText();
\r\nDisplays a small text message to the user if they belong to the specified group. Example: ^GroupText("Visitors","You need an account to do anything cool on this site!");\r\n

\r\n\r\n\r\n^H; or ^H(); - Home Link
\r\nA link to the home page of this site. In addition you can change the link text by creating a macro like this ^H("Go Home");.\r\n

\r\nNotes: You can also use the special case ^H(linkonly); to return only the URL to the home page and nothing more. Also, the .homeLink style sheet class is tied to this macro.\r\n

\r\n\r\n^I(); - Image Manager Image with Tag
\r\nThis macro returns an image tag with the parameters for an image defined in the image manager. Specify the name of the image using a tag like this ^I("imageName");.\r\n

\r\n\r\n^i(); - Image Manager Image Path
\r\nThis macro returns the path of an image uploaded using the Image Manager. Specify the name of the image using a tag like this ^i("imageName");.\r\n

\r\n\r\n^Include();
\r\nAllows a content manager or administrator to include a file from the local filesystem. Takes the format of ^Include("/this/file.html");\r\n

\r\n\r\n^L; or ^L(); - Login
\r\nA small login form. You can also configure this macro. You can set the width of the login box like this ^L(20);. You can also set the message displayed after the user is logged in like this ^L(20,Hi ^a(^@;);. Click %here% if you wanna log out!)\r\n

\r\nNote: The .loginBox style sheet class is tied to this macro.\r\n

\r\n\r\n^M; or ^M(); - Current Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the current level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^M(3);. If you set the macro to "0" it will track the entire site tree.\r\n

\r\n\r\n^m; - Current Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the current level. You can optionally specify a delimeter to be used between page names by using ^m(:--:);. The default delimeter is ·.\r\n

\r\n\r\n^P; or ^P(); - Previous Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the previous level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^P(3);. If you set the macro to "0" it will track the entire site tree.\r\n

\r\n\r\n^p; - Previous Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the previous level. You can optionally specify a delimeter to be used between page names by using ^p(:--:);. The default delimeter is ·.\r\n

\r\n\r\n^Page();
\r\nThis can be used to retrieve information about the current page. For instance it could be used to get the page URL like this ^Page("urlizedTitle"); or to get the menu title like this ^Page("menuTitle");.\r\n

\r\n\r\n^PageTitle;
\r\nDisplays the title of the current page.\r\n

\r\nNote: If you begin using admin functions or the indepth functions of any wobject, the page title will become a link that will quickly bring you back to the page.\r\n

\r\n\r\n^r; or ^r(); - Make Page Printable
\r\nCreates a link to remove the style from a page to make it printable. In addition, you can change the link text by creating a macro like this ^r("Print Me!");.\r\n

\r\nBy default, when this link is clicked, the current page\'s style is replaced with the "Make Page Printable" style in the Style Manager. However, that can be overridden by specifying the name of another style as the second parameter, like this: ^r("Print!","WebGUI");\r\n

\r\nNotes: You can also use the special case ^r(linkonly); to return only the URL to the make printable page and nothing more. Also, the .makePrintableLink style sheet class is tied to this macro.\r\n

\r\n\r\n\r\n^rootmenu; or ^rootmenu(); (Horizontal)
\r\nCreates a horizontal menu of the various roots on your system (except for the WebGUI system roots). You can optionally specify a menu delimiter like this: ^rootmenu(|);\r\n

\r\n\r\n\r\n^RootTitle;
\r\nReturns the title of the root of the current page. For instance, the main root in WebGUI is the "Home" page. Many advanced sites have many roots and thus need a way to display to the user which root they are in.\r\n

\r\n\r\n^S(); - Specific SubMenu (Vertical)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^S("home",0);. The first value is the urlized title of the page and the second value is the depth you\'d like the menu to go. By default it will show only the first level. To go three levels deep create a macro like this ^S("home",3);.\r\n

\r\n\r\n^s(); - Specific SubMenu (Horizontal)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^s("home");. The value is the urlized title of the page. You can optionally specify a delimeter to be used between page names by using ^s("home",":--:");. The default delimeter is ·.\r\n

\r\n\r\n^Synopsis; or ^Synopsis(); Menu
\r\nThis macro allows you to get the submenu of a page along with the synopsis of each link. You may specify an integer to specify how many levels deep to traverse the page tree.\r\n

\r\nNotes: The .synopsis_sub, .synopsis_summary, and .synopsis_title style sheet classes are tied to this macro.\r\n

\r\n\r\n^T; or ^T(); - Top Level Menu (Vertical)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^T(3);. If you set the macro to "0" it will track the entire site tree.\r\n

\r\n\r\n^t; - Top Level Menu (Horizontal)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). You can optionally specify a delimeter to be used between page names by using ^t(:--:);. The default delimeter is ·.\r\n

\r\n\r\n^Thumbnail();
\r\nReturns the URL of a thumbnail for an image from the image manager. Specify the name of the image like this ^Thumbnail("imageName");.\r\n

\r\n\r\n^ThumbnailLinker();
\r\nThis is a good way to create a quick and dirty screenshots page or a simple photo gallery. Simply specify the name of an image in the Image Manager like this: ^ThumbnailLinker("My Grandmother"); and this macro will create a thumnail image with a title under it that links to the full size version of the image.\r\n

\r\n\r\n^u; - Company URL
\r\nThe URL for your company specified in the settings by your Administrator.\r\n

\r\n\r\n^URLEncode();
\r\nThis macro is mainly useful in SQL reports, but it could be useful elsewhere as well. It takes the input of a string and URL Encodes it so that the string can be passed through a URL. It\'s syntax looks like this: ^URLEncode("Is this my string?");

\r\n\r\n^/; - System URL
\r\nThe URL to the gateway script (example: /index.pl/).\r\n

\r\n\r\n^\\; - Page URL
\r\nThe URL to the current page (example: /index.pl/pagename).\r\n

\r\n\r\n^@; - Username
\r\nThe username of the currently logged in user.\r\n

\r\n\r\n^?; - Search
\r\nAdd a search box to the page. The search box is tied to WebGUI\'s built-in search engine.\r\n

\r\nNote: The .searchBox style sheet class is tied to this macro.\r\n

\r\n\r\n^#; - User ID
\r\nThe user id of the currently logged in user.\r\n

\r\n\r\n^*; or ^*(); - Random Number
\r\nA randomly generated number. This is often used on images (such as banner ads) that you want to ensure do not cache. In addition, you may configure this macro like this ^*(100); to create a random number between 0 and 100.\r\n

\r\n\r\n^-;,^0;,^1;,^2;,^3;, etc.
\r\nThese macros are reserved for system/wobject-specific functions as in the SQL Report wobject and the Body in the Style Manager.\r\n'); +delete from help where helpId=19 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (19, 'WebGUI', 669, 624, '9,WebGUI;21,WebGUI;'); +delete from international where internationalId=61 and namespace='MailForm' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (61, 'MailForm',1,'Mail Form, Add/Edit'); +delete from international where internationalId=71 and namespace='MailForm' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (71, 'MailForm',1,'This wobject creates a simple form that will email an email address when it is filled out.\r\n

\r\n\r\nWidth
\r\nThe width of all fields in the form. The default value is 45.\r\n

\r\n\r\nFrom, To, Cc, Bcc, Subject
\r\nThese fields control how the email will look when sent, and who it is sent to. You can give your site visitors the ability to modify some or all of these fields, but typically the only fields you will want the user to be able to modify are From and Subject. Use the drop-down options by each field to choose whether or not the user can see or modify that field.
\r\n
\r\nYou may also choose to enter a WebGUI username or group in the To field, and the email will be sent to the corresponding user or group.\r\n

\r\n\r\nAcknowledgement
\r\nThis message will be displayed to the user after they click "Send".\r\n

\r\n\r\nStore Entries?
\r\nIf set to yes, when your mail form is submitted the entries will be saved to the database for later viewing. The tool to view these entries is not yet available, but when it is you will be able to view all entries from your form in a centralized location.\r\n

\r\n\r\nProceed to add more fields?
\r\nLeave this checked if you want to add additional fields to your form directly after creating it.'); +delete from help where helpId=1 and namespace='MailForm'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'MailForm', 61, 71, '21,WebGUI;'); +delete from international where internationalId=62 and namespace='MailForm' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (62, 'MailForm',1,'Mail Form Fields, Add/Edit'); +delete from international where internationalId=72 and namespace='MailForm' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (72, 'MailForm',1,'You may add as many additional fields to your Mail Form as you like.\r\n

\r\n\r\nField Name
\r\nThe name of this field. It must be unique among all of the other fields on your form.\r\n

\r\n\r\nStatus
\r\nHidden fields will not be visible to the user, but will be sent in the email.
\r\nDisplayed fields can be seen by the user but not modified.
\r\nModifiable fields can be filled in by the user.
\r\nIf you choose Hidden or Displayed, be sure to fill in a Default Value.\r\n

\r\n\r\nType
\r\nChoose the type of form element for this field. The following field types are supported:
\r\nURL: A textbox that will auto-format URL\'s entered.
\r\nTextbox: A standard textbox.
\r\nDate: A textbox field with a popup window to select a date.
\r\nYes/No: A set of yes/no radio buttons.
\r\nEmail Address: A textbox that requires the user to enter a valid email address.
\r\nTextarea: A simple textarea.
\r\nCheckbox: A single checkbox.
\r\nDrop-Down Box: A drop-down box. Use the Possible Values field to enter each option to be displayed in the box. Enter one option per line.\r\n

\r\n\r\nPossible Values
\r\nThis field is only used for the Drop-Down Box type. Enter the values you wish to appear in your drop-down box, one per line.\r\n

\r\n\r\nDefault Value (optional)
\r\nEnter the default value (if any) for the field. For Yes/No fields, enter "yes" to select "Yes" and "no" to select "No".\r\nFor Checkbox fields, enter "checked" to check the box.\r\n

\r\n\r\nProceed to add more fields?
\r\nLeave this checked if you want to add additional fields to your form directly after creating this field.'); +delete from help where helpId=2 and namespace='MailForm'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'MailForm', 62, 72, '1,MailForm;'); +delete from international where internationalId=686 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (686, 'WebGUI',1,'Image Group, Add'); +delete from international where internationalId=641 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (641, 'WebGUI',1,'Image groups are like folders that are used to organize your images. The use of image groups is not required, but on large sites it is definitely useful.\r\n

\r\n\r\nGroup Name
\r\nThe name that will be displayed as you\'re browsing through your images.\r\n

\r\n\r\nGroup Description
\r\nBriefly describe what this image group is used for.\r\n

'); +delete from help where helpId=36 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (36, 'WebGUI', 686, 641, '26,WebGUI;'); +delete from international where internationalId=72 and namespace='DownloadManager' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (72, 'DownloadManager',1,'Download, Add/Edit'); +delete from international where internationalId=73 and namespace='DownloadManager' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (73, 'DownloadManager',1,'File Title
\r\nThe title that will be displayed for this download.\r\n

\r\n\r\nDownload File
\r\nChoose the file from your hard drive that you wish to upload to this download manager.\r\n

\r\n\r\nAlternate Version #1
\r\nAn alternate version of the Download File. For instance, if the download file was a JPEG, perhaps the alternate version would be a TIFF or a BMP.\r\n

\r\n\r\nAlternate Version #2
\r\nAn alternate version of the Download File. For instance, if the download file was a JPEG, perhaps the alternate version would be a TIFF or a BMP.\r\n

\r\n\r\nBrief Synopsis
\r\nA short description of this file. Be sure to include keywords that users may try to search for.\r\n

\r\n\r\nGroup To Download
\r\nChoose the group that may download this file.\r\n

\r\n\r\nProceed to add download?
\r\nChoose "Yes" if you have another file to add to this download manager.\r\n

'); +delete from help where helpId=2 and namespace='DownloadManager'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'DownloadManager', 72, 73, '1,DownloadManager;'); +delete from international where internationalId=72 and namespace='EventsCalendar' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (72, 'EventsCalendar',1,'Event, Add/Edit'); +delete from international where internationalId=73 and namespace='EventsCalendar' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (73, 'EventsCalendar',1,'Title
\r\nThe title for this event.\r\n

\r\n\r\nDescription
\r\nDescribe the activities of this event or information about where the event is to be held.\r\n

\r\n\r\nStart Date
\r\nOn what date will this event begin?\r\n

\r\n\r\nEnd Date
\r\nOn what date will this event end?\r\n

\r\n\r\nRecurs every
\r\nMultiple options for recurring events.\r\n

\r\n\r\nProceed to add event?
\r\nIf you\'d like to add another event, select "Yes".\r\n

\r\n'); +delete from help where helpId=2 and namespace='EventsCalendar'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'EventsCalendar', 72, 73, '1,EventsCalendar;'); +delete from international where internationalId=72 and namespace='FAQ' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (72, 'FAQ',1,'Question, Add/Edit'); +delete from international where internationalId=73 and namespace='FAQ' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (73, 'FAQ',1,'Question
\r\nAdd the question you\'d like to appear on the FAQ.\r\n

\r\n\r\nAnswer
\r\nAdd the answer for the question you entered above.\r\n

\r\n\r\nProceed to add question?
\r\nIf you have another question to add, select "Yes".'); +delete from help where helpId=2 and namespace='FAQ'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'FAQ', 72, 73, '1,FAQ;'); +delete from international where internationalId=72 and namespace='LinkList' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (72, 'LinkList',1,'Link, Add/Edit'); +delete from international where internationalId=73 and namespace='LinkList' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (73, 'LinkList',1,'Title
\r\nThe text that will be linked.\r\n

\r\n\r\nURL
\r\nThe web site to link to.\r\n

\r\n\r\nOpen in new window?
\r\nSelect yes if you\'d like this link to pop-up into a new window.\r\n

\r\n\r\nDescription
\r\nDescribe the site you\'re linking to. You can omit this if you\'d like.\r\n

\r\n\r\nProceed to add link?\r\nIf you have another link to add, select "Yes".\r\n

'); +delete from help where helpId=2 and namespace='LinkList'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'LinkList', 72, 73, '1,LinkList;'); +delete from international where internationalId=697 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (697, 'WebGUI',1,'Karma, Using'); +delete from international where internationalId=698 and namespace='WebGUI' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (698, 'WebGUI',1,'Karma is a method of tracking the activity of your users, and potentially rewarding or punishing them for their level of activity. Once karma has been enabled, you\'ll notice that the menus of many things in WebGUI change to reflect karma.\r\n

\r\nYou can track whether users are logging in, and how much they contribute to your site. And you can allow them access to additional features by the level of their karma.\r\n

\r\nYou can find out more about karma in Ruling WebGUI.'); +delete from help where helpId=47 and namespace='WebGUI'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (47, 'WebGUI', 697, 698, '1,Article;17,WebGUI;1,MessageBoard;1,Poll;2,WebGUI;1,UserSubmission;'); +delete from international where internationalId=5 and namespace='WobjectProxy' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (5, 'WobjectProxy',1,'Wobject Proxy, Add/Edit'); +delete from international where internationalId=6 and namespace='WobjectProxy' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (6, 'WobjectProxy',1,'With the Wobject Proxy you can mirror a wobject from another page to any other page. This is useful if you want to reuse the same content in multiple sections of your site.\r\n

\r\n\r\nWobject To Proxy
\r\nSelect the wobject from your system that you\'d like to proxy. The select box takes the format of "Page Title / Wobject Name (Wobject Id) so that you can quickly and accurately find the wobject you\'re looking for.\r\n

'); +delete from help where helpId=1 and namespace='WobjectProxy'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'WobjectProxy', 5, 6, '21,WebGUI;'); +delete from international where internationalId=38 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (38, 'Product',1,'Product, Add/Edit'); +delete from international where internationalId=39 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (39, 'Product',1,'WebGUI has a product management system built in to enable you to publish your products and services to your site quickly and easily.\r\n

\r\n\r\nPrice
\r\nThe price of this product. You may optionally enter text like "call for pricing" if you wish, or you may leave it blank.\r\n

\r\n\r\nProduct Number
\r\nThe product number, SKU, ISBN, or other identifier for this product.\r\n

\r\n\r\nProduct Image 1
\r\nAn image of this product.\r\n

\r\n\r\nProduct Image 2
\r\nAn image of this product.\r\n

\r\n\r\nProduct Image 3
\r\nAn image of this product.\r\n

\r\n\r\nBrochure
\r\nThe brochure for this product.\r\n

\r\n\r\nManual
\r\nThe product, user, or service manual for this product.\r\n

\r\n\r\nWarranty
\r\nThe warranty for this product.\r\n

\r\n'); +delete from help where helpId=1 and namespace='Product'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'Product', 38, 39, '4,Product;2,Product;5,Product;3,Product;21,WebGUI;'); +delete from international where internationalId=40 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (40, 'Product',1,'Feature, Add/Edit'); +delete from international where internationalId=41 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (41, 'Product',1,'Features are selling points for a product. IE: Reasons to buy your product.\r\n

\r\n\r\nFeature
\r\nYou may enter a new feature, or select one you entered for another product in the system.\r\n

\r\n\r\nAdd another feature?
\r\nIf you\'d like to add another feature right away, select "Yes".\r\n

'); +delete from help where helpId=2 and namespace='Product'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'Product', 40, 41, '1,Product;'); +delete from international where internationalId=42 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (42, 'Product',1,'Specification, Add/Edit'); +delete from international where internationalId=43 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (43, 'Product',1,'Specifications are the technical details of your product.\r\n

\r\n\r\nLabel
\r\nThe type of specification. For instance, height, weight, or color. You may select one you\'ve entered for another product, or type in a new specification.\r\n

\r\n\r\nSpecification
\r\nThe actual specification value. For instance, if you chose height as the Label, then you\'d enter a numeric value like "18".\r\n

\r\n\r\nUnits
\r\nThe unit of measurement for this specification. For instance, if you chose height for your label, perhaps the units would be "meters".\r\n

\r\n\r\nAdd another specification?
\r\nIf you\'d like to add another specification, select "Yes".\r\n

\r\n'); +delete from help where helpId=3 and namespace='Product'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (3, 'Product', 42, 43, '1,Product;'); +delete from international where internationalId=44 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (44, 'Product',1,'Accessory, Add/Edit'); +delete from international where internationalId=45 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (45, 'Product',1,'Accessories are products that enhance other products.\r\n

\r\n\r\nAccessory
\r\nChoose from the list of products you\'ve already entered.\r\n

\r\n\r\nAdd another accessory?
\r\nSelect "Yes" if you have another accessory to add.'); +delete from help where helpId=4 and namespace='Product'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (4, 'Product', 44, 45, '1,Product;'); +delete from international where internationalId=46 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (46, 'Product',1,'Related Product, Add/Edit'); +delete from international where internationalId=47 and namespace='Product' and languageId=1; +insert into international (internationalId,namespace,languageId,message) values (47, 'Product',1,'Related products are products that are comparable or complimentary to other products.\r\n

\r\n\r\nRelated products
\r\nChoose from the list of products you\'ve already entered.\r\n

\r\n\r\nAdd another related product?
\r\nSelect "Yes" if you have another related product to add.'); +delete from help where helpId=5 and namespace='Product'; +insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (5, 'Product', 46, 47, '1,Product;'); +insert into international values (30,'UserSubmission',1,"Karma Per Submission"); diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 9a97c3acd..863c8c6b1 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -137,7 +137,7 @@ sub page { $w = eval{$cmd->new($wobject)}; WebGUI::ErrorHandler::fatalError("Couldn't instanciate wojbect: ${$wobject}{namespace}.") if($@); if ($w->inDateRange) { - $contentHash{${$wobject}{templatePosition}} .= '

'; + $contentHash{${$wobject}{templatePosition}} .= '
'; $contentHash{${$wobject}{templatePosition}} .= ''; $contentHash{${$wobject}{templatePosition}} .= eval{$w->www_view}; WebGUI::ErrorHandler::fatalError("No view method in wojbect: ${$wobject}{namespace}.") if($@); diff --git a/lib/WebGUI/Macro/rootmenuHorizontal.pm b/lib/WebGUI/Macro/rootmenuHorizontal.pm index 717539dac..864fe511c 100644 --- a/lib/WebGUI/Macro/rootmenuHorizontal.pm +++ b/lib/WebGUI/Macro/rootmenuHorizontal.pm @@ -55,6 +55,7 @@ sub _replacement { sub process { my ($output); $output = $_[0]; + $output =~ s/\^rootmenu\;/_replacement()/ge; $output =~ s/\^rootmenu\((.*?)\)\;/_replacement($1)/ge; return $output; } diff --git a/lib/WebGUI/Operation/Help.pm b/lib/WebGUI/Operation/Help.pm index 947e18daa..dd69f7565 100644 --- a/lib/WebGUI/Operation/Help.pm +++ b/lib/WebGUI/Operation/Help.pm @@ -14,6 +14,8 @@ use Exporter; use strict; use Tie::IxHash; use Tie::CPHash; +use WebGUI::HTMLForm; +use WebGUI::Icon; use WebGUI::International; use WebGUI::Session; use WebGUI::SQL; @@ -21,7 +23,8 @@ use WebGUI::URL; use WebGUI::Utility; our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewHelp &www_viewHelpIndex); +our @EXPORT = qw(&www_viewHelp &www_viewHelpIndex &www_manageHelp &www_editHelp &www_editHelpSave + &www_exportHelp &www_deleteHelp &www_deleteHelpConfirm); #------------------------------------------------------------------- sub _helpLink { @@ -45,6 +48,191 @@ sub _seeAlso { return $output; } +#------------------------------------------------------------------- +sub www_deleteHelp { + if ($session{user}{userId} != 3) { + return ""; + } else { + my $output = '

Confirm

Are you sure? Deleting help is never a good idea. Yes / No

'; + return $output; + } +} + +#------------------------------------------------------------------- +sub www_deleteHelpConfirm { + if ($session{user}{userId} != 3) { + return ""; + } else { + my ($titleId, $bodyId) = WebGUI::SQL->quickArray("select titleId,bodyId from help where helpId=".$session{form}{hid}." + and namespace=".quote($session{form}{namespace})); + WebGUI::SQL->write("delete from international where internationalId=$titleId + and namespace=".quote($session{form}{namespace})); + WebGUI::SQL->write("delete from international where internationalId=$bodyId + and namespace=".quote($session{form}{namespace})); + WebGUI::SQL->write("delete from help where helpId=".$session{form}{hid}." + and namespace=".quote($session{form}{namespace})); + return www_manageHelp(); + } +} + +#------------------------------------------------------------------- +sub www_editHelp { + if ($session{user}{userId} != 3) { + return ""; + } else { + my ($output, $f, %data, %help, @seeAlso); + tie %data, 'Tie::IxHash'; + tie %help, 'Tie::CPHash'; + if ($session{form}{hid} ne "new") { + %help = WebGUI::SQL->quickHash("select * from help where + helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace})); + $help{title} = WebGUI::International::get($help{titleId},$help{namespace}); + $help{body} = WebGUI::International::get($help{bodyId},$help{namespace}); + $help{seeAlso} =~ s/\n//g; + $help{seeAlso} =~ s/\r//g; + $help{seeAlso} =~ s/ //g; + @seeAlso = split(/;/,$help{seeAlso}); + } else { + $help{titleId} = "new"; + $help{bodyId} = "new"; + $help{namespace} = "WebGUI"; + } + $output = '

Edit Help

'; + $f = WebGUI::HTMLForm->new(); + $f->hidden("op","editHelpSave"); + $f->hidden("hid",$session{form}{hid}); + $f->readOnly($session{form}{hid},"Help ID"); + if ($session{form}{hid} eq "new") { + %data = WebGUI::SQL->buildHash("select namespace,namespace from help order by namespace"); + $f->combo("namespace",\%data,"Namespace",[$help{namespace}]); + } else { + $f->hidden("namespace",$session{form}{namespace}); + $f->readOnly($session{form}{namespace},"Namespace"); + } + $f->hidden("titleId",$help{titleId}); + $f->readOnly($help{titleId},"Title ID"); + $f->text("title","Title",$help{title}); + $f->hidden("bodyId",$help{bodyId}); + $f->readOnly($help{bodyId},"Body ID"); + $f->HTMLArea("body","Body",$help{body},'','','',20,60); + %data = WebGUI::SQL->buildHash("select concat(help.helpId,',',help.namespace), + concat(international.message,' (',help.helpId,'/',help.namespace,')') + from help,international where help.titleId=international.internationalId + and help.namespace=international.namespace and international.languageId=1 order by international.message"); + $f->select("seeAlso",\%data,"See Also",\@seeAlso,8,1); + $f->submit; + $output .= $f->print; + return $output; + } +} + +#------------------------------------------------------------------- +sub www_editHelpSave { + if ($session{user}{userId} != 3) { + return ""; + } else { + my (@seeAlso); + if ($session{form}{hid} eq "new") { + if ($session{form}{namespace_new} ne "") { + $session{form}{namespace} = $session{form}{namespace_new}; + } + ($session{form}{titleId}) = WebGUI::SQL->quickArray("select max(internationalId) from international + where namespace=".quote($session{form}{namespace})); + $session{form}{titleId}++; + $session{form}{bodyId} = $session{form}{titleId}+1; + ($session{form}{hid}) = WebGUI::SQL->quickArray("select max(helpId) from help + where namespace=".quote($session{form}{namespace})); + $session{form}{hid}++; + WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values + ($session{form}{titleId},1,".quote($session{form}{namespace}).")"); + WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values + ($session{form}{bodyId},1,".quote($session{form}{namespace}).")"); + WebGUI::SQL->write("insert into help (helpId,namespace,titleId,bodyId) values + ($session{form}{hid},".quote($session{form}{namespace}).",$session{form}{titleId}, + $session{form}{bodyId})"); + } + @seeAlso = $session{cgi}->param('seeAlso'); + if ($seeAlso[0] ne "") { + $session{form}{seeAlso} = join(";",@seeAlso); + $session{form}{seeAlso} .= ';'; + } + WebGUI::SQL->write("update international set message=".quote($session{form}{title})." + where internationalId=$session{form}{titleId} and languageId=1 and namespace=".quote($session{form}{namespace})); + WebGUI::SQL->write("update international set message=".quote($session{form}{body})." + where internationalId=$session{form}{bodyId} and languageId=1 and namespace=".quote($session{form}{namespace})); + WebGUI::SQL->write("update help set seeAlso=".quote($session{form}{seeAlso})." + where helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace})); + return www_manageHelp(); + } +} + +#------------------------------------------------------------------- +sub www_exportHelp { + if ($session{user}{userId} != 3) { + return ""; + } else { + my ($export, $output, %help, %data, $sth); + $output = '

Export Help

'; + $export = "#export of WebGUI ".$WebGUI::VERSION." help system.\n\n"; + $sth = WebGUI::SQL->read("select * from help"); + while (%help = $sth->hash) { + %data = WebGUI::SQL->quickHash("select * from international where internationalId=$help{titleId}" + ." and languageId=1 and namespace=".quote($help{namespace})); + $export .= "delete from international where internationalId=$data{internationalId}" + ." and namespace=".quote($data{namespace})." and languageId=1;\n"; + $export .= "insert into international (internationalId,namespace,languageId,message) values (" + ."$data{internationalId}, ".quote($data{namespace}).",1,".quote($data{message}).");\n"; + %data = WebGUI::SQL->quickHash("select * from international where internationalId=$help{bodyId}" + ." and languageId=1 and namespace=".quote($help{namespace})); + $export .= "delete from international where internationalId=$data{internationalId}" + ." and namespace=".quote($data{namespace})." and languageId=1;\n"; + $export .= "insert into international (internationalId,namespace,languageId,message) values (" + ."$data{internationalId}, ".quote($data{namespace}).",1,".quote($data{message}).");\n"; + $export .= "delete from help where helpId=$help{helpId} and namespace=".quote($help{namespace}).";\n"; + $export .= "insert into help (helpId,namespace,titleId,bodyId,seeAlso) values ($help{helpId}, " + .quote($help{namespace}).", $help{titleId}, $help{bodyId}, ".quote($help{seeAlso}).");\n"; + } + $sth->finish; + #$output .= '
'; + $output .= "

\n\n\n\n".$export."\n\n\n\n

"; + return $output; + } +} + +#------------------------------------------------------------------- +sub www_manageHelp { + my ($sth, @help, $output); + if ($session{user}{userId} != 3) { + return ""; + } else { + $output = '

Manage Help

'; + $output .= 'This interface is for WebGUI developers only. If you\'re not a developer, leave this alone. Also, + this interface works ONLY under MySQL and is not supported by Plain Black under any + circumstances.

'; + $output .= 'Add new help.'; + $output .= ' · '; + $output .= 'Export help.'; + $output .= '

'; + $sth = WebGUI::SQL->read("select help.helpId,help.namespace,international.message from help,international + where help.titleId=international.internationalId and help.namespace=international.namespace + and international.languageId=1 order by international.message"); + while (@help = $sth->array) { + $output .= '' + .'' + .'' + .''; + } + $sth->finish; + $output .= '
' + .deleteIcon("op=deleteHelp&hid=".$help[0]."&namespace=".$help[1]) + .editIcon("op=editHelp&hid=".$help[0]."&namespace=".$help[1]) + .''._helpLink($help[0],$help[1],$help[2]).''.$help[0].'/'.$help[1].'
'; + return $output; + } +} + #------------------------------------------------------------------- sub www_viewHelp { my ($output, %help, $namespace); diff --git a/lib/WebGUI/Operation/International.pm b/lib/WebGUI/Operation/International.pm index 4eb60fb6c..0f05254bf 100644 --- a/lib/WebGUI/Operation/International.pm +++ b/lib/WebGUI/Operation/International.pm @@ -300,7 +300,8 @@ sub www_submitTranslation { sub www_submitTranslationConfirm { my ($sth, %data, $submission); tie %data, 'Tie::CPHash'; - $submission = "#language\n\n"; + $submission = "#Translation export for WebGUI ".$WebGUI::Version.".\n\n"; + $submission .= "#language\n\n"; $submission .= "delete from language where languageId=".$session{form}{lid}.";\n"; $sth = WebGUI::SQL->read("select * from language where languageId=".$session{form}{lid}); while (%data = $sth->hash) { diff --git a/lib/WebGUI/Wobject/DownloadManager.pm b/lib/WebGUI/Wobject/DownloadManager.pm index 0bef00ff6..0c2998005 100644 --- a/lib/WebGUI/Wobject/DownloadManager.pm +++ b/lib/WebGUI/Wobject/DownloadManager.pm @@ -222,6 +222,7 @@ sub www_editDownload { $session{form}{did} = "new"; } %download = WebGUI::SQL->quickHash("select * from DownloadManager_file where downloadId='$session{form}{did}'"); + $output .= helpIcon(2,$namespace); $output .= '

'.WebGUI::International::get(10,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); diff --git a/lib/WebGUI/Wobject/EventsCalendar.pm b/lib/WebGUI/Wobject/EventsCalendar.pm index 5d1208e76..55ca8506c 100644 --- a/lib/WebGUI/Wobject/EventsCalendar.pm +++ b/lib/WebGUI/Wobject/EventsCalendar.pm @@ -229,7 +229,8 @@ sub www_editEvent { $f->hidden("until"); $special = $f->printRowsOnly; } - $output = '

'.WebGUI::International::get(13,$namespace).'

'; + $output = helpIcon(2,$namespace); + $output .= '

'.WebGUI::International::get(13,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("eid",$session{form}{eid}); diff --git a/lib/WebGUI/Wobject/FAQ.pm b/lib/WebGUI/Wobject/FAQ.pm index 10034253f..ff212d3d6 100644 --- a/lib/WebGUI/Wobject/FAQ.pm +++ b/lib/WebGUI/Wobject/FAQ.pm @@ -161,7 +161,8 @@ sub www_editQuestion { tie %question, 'Tie::CPHash'; if (WebGUI::Privilege::canEditPage()) { %question = WebGUI::SQL->quickHash("select * from FAQ_question where questionId='$session{form}{qid}'"); - $output = '

'.WebGUI::International::get(10,$namespace).'

'; + $output = helpIcon(2,$namespace); + $output .= '

'.WebGUI::International::get(10,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $session{form}{qid} = "new" if ($session{form}{qid} eq ""); @@ -263,11 +264,11 @@ sub www_view { } $qNa .= ''; if ($_[0]->get("qaOn")) { - $qNa .= $q.' '; + $qNa .= $q.': '; } $qNa .= $question{question}.'
'; if ($_[0]->get("qaOn")) { - $qNa .= $a.' '; + $qNa .= $a.': '; } $qNa .= $question{answer}; if ($_[0]->get("topOn")) { diff --git a/lib/WebGUI/Wobject/LinkList.pm b/lib/WebGUI/Wobject/LinkList.pm index 0620b181f..57d9617d9 100644 --- a/lib/WebGUI/Wobject/LinkList.pm +++ b/lib/WebGUI/Wobject/LinkList.pm @@ -171,7 +171,8 @@ sub www_editLink { } else { $newWindow = $link{newWindow}; } - $output = '

'.WebGUI::International::get(12,$namespace).'

'; + $output = helpIcon(2,$namespace); + $output .= '

'.WebGUI::International::get(12,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("lid",$linkId); diff --git a/lib/WebGUI/Wobject/Product.pm b/lib/WebGUI/Wobject/Product.pm index a797d903f..ce05a655a 100644 --- a/lib/WebGUI/Wobject/Product.pm +++ b/lib/WebGUI/Wobject/Product.pm @@ -322,7 +322,8 @@ sub set { sub www_addAccessory { my ($output, $f, $accessory, @usedAccessories); if (WebGUI::Privilege::canEditPage()) { - $output = '

'.WebGUI::International::get(16,$namespace).'

'; + $output = helpIcon(4,$namespace); + $output .= '

'.WebGUI::International::get(16,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("func","addAccessorySave"); @@ -364,7 +365,8 @@ sub www_addAccessorySave { sub www_addRelated { my ($output, $f, $related, @usedRelated); if (WebGUI::Privilege::canEditPage()) { - $output = '

'.WebGUI::International::get(19,$namespace).'

'; + $output = helpIcon(5,$namespace); + $output .= '

'.WebGUI::International::get(19,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("func","addRelatedSave"); @@ -609,7 +611,8 @@ sub www_editFeature { if (WebGUI::Privilege::canEditPage()) { %data = WebGUI::SQL->quickHash("select * from Product_feature where productFeatureId='$session{form}{fid}'"); - $output = '

'.WebGUI::International::get(22,$namespace).'

'; + $output = helpIcon(2,$namespace); + $output .= '

'.WebGUI::International::get(22,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $session{form}{fid} = "new" if ($session{form}{fid} eq ""); @@ -659,7 +662,8 @@ sub www_editSpecification { if (WebGUI::Privilege::canEditPage()) { %data = WebGUI::SQL->quickHash("select * from Product_specification where productSpecificationId='$session{form}{sid}'"); - $output = '

'.WebGUI::International::get(25,$namespace).'

'; + $output = helpIcon(3,$namespace); + $output .= '

'.WebGUI::International::get(25,$namespace).'

'; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $session{form}{sid} = "new" if ($session{form}{sid} eq "");