C# (CSharp) Bloom.Book Namespace

Classes

Name Description
Book
Book.GuidAndPath
BookCopyrightAndLicense Reads and writes the aspects of the book related to copyright, license, license logo, etc. That involves three duties: 1) Serializing/Deserializing a libpalaso.ClearShare.Metadata to/from the bloomDataDiv of the html 2) Propagating that information into template fields found in the pages of the book (normally just the credits page) 3) Placing the correct license image into the folder
BookData
BookInfo A BookInfo has everything needed to display a title and thumbnail, and (eventually) do common searching filtering operations, without accessing the actual contents of the book. A related responsibility is to wrap the meta.json file which stores this search/display data in a form suitable for uploading to our web server.
BookMetaData This just wraps the stuff we put in the json file. It is tempting to just serialize/deserialize the BookInfo itself. However, that would require us to refactor all the code that creates BookInfos, since it expects to use a constructor taking a pathname, while the Json code expects to create the object for us out of the pathname. Also, separating them like this means we don't have to be careful to mark things we don't want in the json.
BookSelection
BookServer
BookStarter Creates the files for a new blank book from a template book
BookStorage
CurrentEditableCollectionSelection
DataSet Acts as a cache of values we inject and gather from the document.
ErrorBook
ErrorBookInfo
HtmlDom HtmlDom manages the lower-level operations on a Bloom XHTML DOM. These doms can be a whole book, or just one page we're currently editing. They are actually XHTML, though when we save or send to a browser, we always convert to plain html.
ImageUpdater
LanguageDescriptor This class represents the parse.com Language class (for purposes of generating json)
Layout A Layout is size and orientation, plus options. Currently, there is only one set of options allowed, named "styles"
NamedMutliLingualValue
Page
ParseDotComObjectPointer This is the required structure for a parse.com pointer to an object in another table.
RuntimeInformationInjector stick in a json with various string values/translations we want to make available to the javascript
SizeAndOrientation NB: html class names are case sensitive! In this code, we want to accept stuff regardless of case, but always generate Capitalized paper size and orientation names
TranslationGroupManager Most editable elements in Bloom are multilingual. They have a wrapping
and then inner divs which are visible or not, depending on various settings. This class manages creating those inner divs, and marking them with classes that turn on visibility or move the element around the page, depending on the stylesheet in use. Also, page
s are marked with one of these classes: bloom-monolingual, bloom-bilingual, and bloom-trilingual
The Mother said...
Mama i tok:
abada fakwan
UserPrefs
XMatterHelper Handles chores related to Front and Back Matter packs. These allow users to have a set which fits there country/organizational situation, and have it applied to all books they create, whether original or from shells created in other country/organization contexts.
XMatterInfo
XMatterPackFinder Locate and list all the XMatter (Front & Back Matter) Packs that this user could use