Add in StoryManager, 3 assets for managing news content in WebGUI.

Several small API changes to Keyword and AssetExportHtml to support StoryManager functionality.
This commit is contained in:
Colin Kuskie 2009-04-24 18:31:06 +00:00
commit 1b8ad91605
28 changed files with 4820 additions and 14 deletions

View file

@ -26,6 +26,12 @@ our $I18N = {
context => q|help for the keywords property|
},
'keywords template var' => {
message => q|This will be a string with the keywords for this asset. Individual keywords will be joined with spaces, unless the keyword contains spaces, in which case it will be quoted.|,
lastUpdated => 0,
context => q|help for the keywords template variable|
},
'add the missing page' => {
message => q|Add the missing page.|,
lastUpdated => 0,

View file

@ -0,0 +1,451 @@
package WebGUI::i18n::English::Asset_Story;
use strict;
our $I18N = {
'assetName' => {
message => q|Story|,
context => q|Story, as in news story.|,
lastUpdated => 0
},
'headline' => {
message => q|Headline|,
context => q|Usually the title of a story. Label in the edit screen and template.|,
lastUpdated => 0
},
'headline help' => {
message => q|Often the same as title. If left blank, it will take the headline from the title.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'headline tmplvar' => {
message => q|The headline for the Story.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'subtitle' => {
message => q|Subtitle|,
context => q|Similar to headline, but usually contains more information. Label in the edit screen and template.|,
lastUpdated => 0
},
'subtitle help' => {
message => q|Similar to headline, but usually contains more information.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'subtitle tmplvar' => {
message => q|The subtitle from the Story.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'byline' => {
message => q|By line|,
context => q|Who wrote the story. Label in the edit screen and template.|,
lastUpdated => 0
},
'byline help' => {
message => q|Who wrote the story.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'byline tmplvar' => {
message => q|The byline from the Story.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'location' => {
message => q|Location|,
context => q|Where the story takes place. Label in the edit screen and template.|,
lastUpdated => 0
},
'location help' => {
message => q|Where the story takes place.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'location tmplvar' => {
message => q|The location from the Story.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'highlights' => {
message => q|Story Highlights|,
context => q|Bullet point level summaries from the story. Label in the edit screen and template.|,
lastUpdated => 0
},
'highlights help' => {
message => q|Bullet point level items from the story. Enter 1 per line.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'highlights tmplvar' => {
message => q|All of the highlights from the Story. Each highlight will be separated by a newline character.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'story' => {
message => q|Story|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'story help' => {
message => q|The story.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'story tmplvar' => {
message => q|The story. Note that it may contain embedded content from the Rich Text Editor.|,
context => q|Template variable help.|,
lastUpdated => 0
},
'save story' => {
message => q|Save Story|,
context => q|Button label in the Edit Story form.|,
lastUpdated => 0
},
'save and add another photo' => {
message => q|Save and Add Another Photo|,
context => q|Button label in the Edit Story form.|,
lastUpdated => 0
},
'story received' => {
message => q|Your story has been received and is being processed so it can be added to the site. It will be available for further editing after being processed. Please be patient.|,
lastUpdated => 0,
},
'edit template' => {
message => q|Edit Story Template.|,
lastUpdated => 0,
},
'formHeader' => {
message => q|HTML code to begin the form for adding or editing a Story.|,
lastUpdated => 0,
},
'formTitle' => {
message => q|Internationalized title for this form.|,
lastUpdated => 0,
},
'titleForm' => {
message => q|Form for the user to enter a title for this story.|,
lastUpdated => 0,
},
'headlineForm' => {
message => q|Form for the user to enter a headline for this story.|,
lastUpdated => 0,
},
'subtitleForm' => {
message => q|Form for the user to enter a subtitle for this story.|,
lastUpdated => 0,
},
'bylineForm' => {
message => q|Form for the user to enter a byline for this story.|,
lastUpdated => 0,
},
'locationForm' => {
message => q|Form for the user to enter a location for this story.|,
lastUpdated => 0,
},
'keywordsForm' => {
message => q|Form for the user to enter keywords for this story.|,
lastUpdated => 0,
},
'summaryForm' => {
message => q|Form for the user to enter a summary of this story.|,
lastUpdated => 0,
},
'highlightsForm' => {
message => q|Form for the user to enter highlights for this story.|,
lastUpdated => 0,
},
'storyForm' => {
message => q|Form for the user to enter the actual story.|,
lastUpdated => 0,
},
'saveButton' => {
message => q|Button for the user to save the form.|,
lastUpdated => 0,
},
'saveAndAddButton' => {
message => q|Button for the user to save the form, and then reopen the edit form to add another photo.|,
lastUpdated => 0,
},
'cancelButton' => {
message => q|Button for the user to cancel this form without saving anything.|,
lastUpdated => 0,
},
'formFooter' => {
message => q|HTML code to end the form for adding or editing a Story.|,
lastUpdated => 0,
},
'view template' => {
message => q|View Story Template.|,
lastUpdated => 0,
},
'highlights_loop' => {
message => q|A loop containing all the highlights from the story.|,
lastUpdated => 0,
},
'highlight' => {
message => q|One highlight, without formatting or extra HTML.|,
lastUpdated => 0,
},
'keywords_loop' => {
message => q|A loop containing all the keywords from the story.|,
lastUpdated => 0,
},
'keyword' => {
message => q|One keyword, with no formatting.|,
lastUpdated => 0,
},
'keyword_url' => {
message => q|A URL to view all stories in this archive related to this keyword.|,
lastUpdated => 0,
},
'crumb_loop' => {
message => q|A loop containing the crumbtrail. The first element will be a link to the archive that contains the story. The last element will be the story, with title and url. If there are 3 elements, the middle element will be the topic.|,
lastUpdated => 0,
},
'crumb_title' => {
message => q|The title of a page in the crumb trail.|,
lastUpdated => 0,
},
'crumb_url' => {
message => q|The title of a page in the crumb trail.|,
lastUpdated => 0,
},
'updatedTime' => {
message => q|The time this Story was last updated, as a formatted duration, like 1 Hour(s) ago.|,
lastUpdated => 0,
},
'updatedTimeEpoch' => {
message => q|The time this Story was last updated, as an epoch.|,
lastUpdated => 0,
},
'photo tmplvar' => {
message => q|The photo JSON blob from the Story asset.|,
lastUpdated => 0,
},
'storageId tmplvar' => {
message => q|The photo JSON blob from the Story asset.|,
lastUpdated => 0,
},
'ago' => {
message => q|ago|,
context => q|As in the phrase, Last updated 3 hours ago.|,
lastUpdated => 0,
},
'storageId tmplvar' => {
message => q|The photo JSON blob from the Story asset.|,
lastUpdated => 0,
},
'story asset template variables title' => {
message => q|Story Asset Template Variables.|,
context => q|Title of a help page for asset level template variables.|,
lastUpdated => 0,
},
'photo_form_loop' => {
message => q|A loop containing subforms for all photos that have been loaded, and a blank form for uploading new photos.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgUploadForm' => {
message => q|A form field to upload an image.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgCaptionForm' => {
message => q|A form field for the caption for this image.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgBylineForm' => {
message => q|A form field for a by-line for this image.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgAltForm' => {
message => q|A form field for alternate text for the image, for the IMG tag ALT field.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgTitleForm' => {
message => q|A form field for the title for the image, for the IMG tag TITLE field.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgUrlForm' => {
message => q|A field for the URL for this image. If present, then the image will be rendered as a link to this URL.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'imgDeleteForm' => {
message => q|A field to delete the image, along with all data attached to it. This form will not be present in the set of variables in the loop for adding a new image.|,
context => q|Template variable for edit form.|,
lastUpdated => 0,
},
'photo caption' => {
message => q|Photo Caption|,
context => q|Label in the edit story form. Short for Photograph Caption.|,
lastUpdated => 0,
},
'photo byline' => {
message => q|Photo By Line|,
context => q|Label in the edit story form. The person who took, or owns this photo.|,
lastUpdated => 0,
},
'photo alt' => {
message => q|Photo Alternate Text|,
context => q|Label in the edit story form. Text for the ALT attribute of an IMG tag.|,
lastUpdated => 0,
},
'photo title' => {
message => q|Photo Alternate Title|,
context => q|Label in the edit story form. Text for the TITLE attribute of an IMG tag.|,
lastUpdated => 0,
},
'photo url' => {
message => q|Photo URL|,
context => q|Label in the edit story form. A link from the photo to more information about it, or referring to it.|,
lastUpdated => 0,
},
'photo delete' => {
message => q|Delete Photo|,
context => q|Label in the edit story form. Request that the photo be deleted, and all information with it.|,
lastUpdated => 0,
},
'photo_loop' => {
message => q|A loop containing photos and information about the photos.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageUrl' => {
message => q|The URL to the image.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageCaption' => {
message => q|A caption for the image.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageByline' => {
message => q|A byline for the image.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageAlt' => {
message => q|Alternate text for the image, suitable for use as the ALT parameter for an IMG tag.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageTitle' => {
message => q|Alternate text for the image, suitable for use as the TITLE parameter for an IMG tag.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageLink' => {
message => q|A URL for the image to link to.|,
context => q|Template variable|,
lastUpdated => 0,
},
'hasPhotos' => {
message => q|This template variable will be true if the Story has photos uploaded to it.|,
context => q|Template variable|,
lastUpdated => 0,
},
'singlePhoto' => {
message => q|This template variable will be true if the Story has just 1 photo uploaded to it.|,
context => q|Template variable|,
lastUpdated => 0,
},
'imageLink' => {
message => q|A URL for the image to link to.|,
context => q|Template variable|,
lastUpdated => 0,
},
'Source' => {
message => q|Source|,
context => q|Label for story template. Referring to who took, or who owns, a picture.|,
lastUpdated => 0,
},
};
1;

View file

@ -0,0 +1,302 @@
package WebGUI::i18n::English::Asset_StoryArchive;
use strict;
our $I18N = {
'assetName' => {
message => q|Story Archive|,
context => q|An Asset that holds stories.|,
lastUpdated => 0
},
'stories per page' => {
message => q|Stories Per Page|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'stories per page help' => {
message => q|The number of stories displayed on a page. If the asset is exported as HTML, then the generated page will have 10 standard pages of stories.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'group to post' => {
message => q|Group to Post|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'group to post help' => {
message => q|The group allowed to add stories to this Story Archive.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'groupToPost' => {
message => q|The GUID of the group allowed to add stories to this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0
},
'template' => {
message => q|Story Archive Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'template help' => {
message => q|The Template used to display the Story Archive.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'templateId' => {
message => q|The GUID of the template used to display the Story Archive.|,
context => q|Template variable|,
lastUpdated => 0
},
'story template' => {
message => q|Story Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'story template help' => {
message => q|The Template used to display Story assets from this Story Archive.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'storyTemplateId' => {
message => q|The GUID of the template used to display the Story assets.|,
context => q|Template variable|,
lastUpdated => 0
},
'edit story template' => {
message => q|Edit Story Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'edit story template help' => {
message => q|The Template used to add or edit Story assets.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'keyword list template' => {
message => q|Keyword List Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'keyword list template help' => {
message => q|The Template used to render the list of assets matching a keyword when this StoryArchive is exported.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'editStoryTemplateId' => {
message => q|The GUID of the template used to add or edit Story assets.|,
context => q|Template variable|,
lastUpdated => 0
},
'keywordListTemplateId' => {
message => q|The GUID of the template used to render list of assets matching a keyword when this StoryArchive is exported.|,
context => q|Template variable|,
lastUpdated => 0
},
'archive after' => {
message => q|Archive Stories After|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'archive after help' => {
message => q|After this time, Story assets will be archived and no longer show up in the list of Stories or feeds. Set to 0 to disable archiving.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'archiveAfter' => {
message => q|Amount of time in seconds. After this time, Stories will be archived.|,
context => q|Template variable|,
lastUpdated => 0
},
'rich editor' => {
message => q|Rich Editor|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'rich editor help' => {
message => q|The WYSIWIG editor used to edit the content of Story assets.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'richEditorId' => {
message => q|The GUID of the WYSIWIG editor used to edit the content of Story assets.|,
context => q|Template variable|,
lastUpdated => 0
},
'approval workflow' => {
message => q|Story Approval Workflow|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0,
},
'approval workflow help' => {
message => q|Choose a workflow to be executed on each Story as it gets submitted.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0,
},
'approvalWorkflowId' => {
message => q|The GUID of the workflow to be executed on each Story as it gets submitted.|,
context => q|Template variable|,
lastUpdated => 0,
},
'storyarchive asset template variables title' => {
message => q|Story Archive Asset Template Variables.|,
context => q|Title of a help page for asset level template variables.|,
lastUpdated => 0,
},
'view template' => {
message => q|Story Archive, View Template|,
context => q|Title of a help page.|,
lastUpdated => 0,
},
'date_loop' => {
message => q|A loop containing stories in the date they were submitted, with subloops for each day. The loop is paginated.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'epochDate' => {
message => q|The epoch that is the beginning of the day for a day where stories were submitted to the Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'story_loop' => {
message => q|A loop containing all stories there were submitted on the day given by epochDate.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'url' => {
message => q|The URL to view a story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'title' => {
message => q|The title of a story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'creationDate' => {
message => q|The epoch date when this story was created, or submitted, to the Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'add a story' => {
message => q|Add a Story.|,
context => q|label for the URL to add a story to the archive.|,
lastUpdated => 0,
},
'searchHeader' => {
message => q|HTML code for beginning the search form. This variable is empty when the Story Archive is being exported as HTML.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'searchForm' => {
message => q|The text field where users can enter in keywords for the search. This variable is empty when the Story Archive is being exported as HTML.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'searchButton' => {
message => q|Button with internationalized label for submitting the search form. This variable is empty when the Story Archive is being exported as HTML.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'searchFooter' => {
message => q|HTML code for ending the search form. This variable is empty when the Story Archive is being exported as HTML.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'canPostStories' => {
message => q|A boolean which is true if the user can post stories.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'addStoryUrl' => {
message => q|The URL for the user to add a Story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'rssUrl' => {
message => q|The URL for the RSS feed for this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'atomUrl' => {
message => q|The URL for the Atom feed for this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'keywordCloud' => {
message => q|The tag cloud for the keywords for stories in this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'asset_loop' => {
message => q|A loop containing up to the first 50 assets that match the keyword.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'asset title' => {
message => q|The title of this asset.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'asset url' => {
message => q|The title of this url.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'keyword' => {
message => q|The keyword for this list of assets.|,
context => q|Template variable.|,
lastUpdated => 0,
},
};
1;

View file

@ -0,0 +1,176 @@
package WebGUI::i18n::English::Asset_StoryTopic;
use strict;
our $I18N = {
'assetName' => {
message => q|Story Topic|,
context => q|An Asset that displays stories based on keywords.|,
lastUpdated => 0
},
'stories per topic' => {
message => q|Stories Per Topic|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'stories per topic help' => {
message => q|The number of stories displayed in RSS and Atom feeds from this Story Topic, and when viewing the Topic directly.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'stories short' => {
message => q|Stories Per Page|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'stories short help' => {
message => q|The number of stories displayed on a page.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'story template' => {
message => q|Story Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'story template help' => {
message => q|The Template used to display Story assets from this Story Topic.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'template' => {
message => q|Main Template|,
context => q|Label in the edit screen and template.|,
lastUpdated => 0
},
'template help' => {
message => q|The Template used to display the Story Topic.|,
context => q|Hoverhelp in the edit screen and template.|,
lastUpdated => 0
},
'story_loop' => {
message => q|A loop containing the most recent stories for this topic.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'url' => {
message => q|The URL to view a story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'title' => {
message => q|The title of a story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'creationDate' => {
message => q|The epoch date when this story was created, or submitted, to its Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryUrl' => {
message => q|The URL to view the top story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryTitle' => {
message => q|The title of the top story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStorySubtitle' => {
message => q|The subtitle of the top story.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryCreationDate' => {
message => q|The epoch date when the top story was created, or submitted, to its Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageCaption' => {
message => q|The Caption of the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageByline' => {
message => q|The Byline of the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageAlt' => {
message => q|The alternate image text for the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageTitle' => {
message => q|The image title for the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageLink' => {
message => q|The link for the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'topStoryImageUrl' => {
message => q|The URL to the first photo for the top story, if it exists.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'standAlone' => {
message => q|This variable will be true if the Story Topic is being viewed directly, by its URL. Otherwise, if it is viewed as part of a Page Layout or other Container, it will be false.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'view template' => {
message => q|View Story Topic Template|,
context => q|Template variable.|,
lastUpdated => 0,
},
'storytopic asset template variables title' => {
message => q|Story Topic Asset Template Variables|,
context => q|Template variable.|,
lastUpdated => 0,
},
'rssUrl' => {
message => q|The URL for the RSS feed for this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
'atomUrl' => {
message => q|The URL for the Atom feed for this Story Archive.|,
context => q|Template variable.|,
lastUpdated => 0,
},
};
1;

View file

@ -0,0 +1,13 @@
package WebGUI::i18n::English::Workflow_Activity_ArchiveOldStories;
use strict;
our $I18N = {
'activityName' => {
message => q|Archive Old Stories|,
context => q|The name of this workflow activity.|,
lastUpdated => 0,
},
};
1;