Is there a standard format for describing a calendar system? - calendar

I'm in the beginning stages of designing a timeline software. One of the main features of this software is intended to be that the users are not restricted to just the Gregorian Calendar. In fact, they should be able to define their own calendar within the program.
As such: Is there any existing standard or file format or the like to define a calendar system? I'm purposefully not specifying any specific features the format should have: For now I just want to find out if any such format exists at all.
Thank you very much!

Related

how to use webcal protocol

I want to create a file, that will be accessed by using the webcal:// protocol.
The final goal is to let the user subscribe to a shared calendar, and I know that this can be done in a million different ways, and that webcal has disadvantages, but please treat this question as a technical question about webcal and don't offer alternatives.
What should be its content, if I want it to allow a user to subscribe to a shared calendar?
How should I host such a file? Most of the servers I know support only http/s queries.
Thx!
Please refer to the RFC5545 shared calendar (ics)n specification https://www.rfc-editor.org/rfc/rfc5545 for the format of contents of the ics calendar files.
Note that webcal is an unofficial apple protocol for ics calendar files. Google and other calendar providers use https for their shared calendars. These can be hosted on most servers. An ics url is literally just a file (or active url). If you persist in using webcal protocol only, some calendar applications may not accept so I strongly suggest the official 'alternative'.
From page 5 of the specification
"The iCalendar format is suitable as an exchange format between
applications or systems. The format is defined in terms of a MIME
content type. This will enable the object to be exchanged using
several transports, including but not limited to SMTP, HTTP,....."

What's the best practice to implement localization (for strings) in Salesforce's LWC?

I'm new to Salesforce's Lightning Web Components, and I'm trying to figure out what the best way to support localizing labels, messages, and other strings in LWC.
I've learnt about the i18n programmability to localize Date/Time format, Currency format, etc. according to user's locale. However, I couldn't see any out-of-the-box supported way to localize strings.
Let's say my LWC requires a message to be displayed to user on certain scenario; so my html template will have to render that message. I would like for my html to be able to render that message in US English for user with en-US locale and in Japanese for ja-jp locale. What's the salesforce recommended way to develop that functionality?
Potentially I could add locale files (say, a json file each, with all messages for a specific locale) to static resources, and then add a getter each for every message in my LightningElement js that calls a generic method to take a string id and locale and returns the message from my locale file. It sounds like some work, and I just want to ensure there's no built-in, better way of doing it easily. I searched for previous threads on this topic, couldn't find much.
Thanks for the help or any pointers.
I guess what you're looking for is Custom Label. That's the way to handle multiple language in Salesforce.

SCORM authoring tool

Im starting a new project. The aim of the project is to create a e-authoring tool for building courses in SCORM Complaint. Im new to this domain and I have little idea on this. I have taken a view on authoring tool in Articulate, which my customer requires to do the same. I understood the content creation, but I am trying to understand How can I export this as SCORM compliant course? In between I learned about xAPI as well And understood it is a kind of enhanced SCORM.
Could any one guide me to understand this,
1) How can create content from my custom authoring tool and export as SCORM complaint
2) Is it better to use xAPI or SCORM.
3) How is the SCORM pacakge communicate with my custom made LMS?
4) Heard about LRS,
My custom authoring tool will be made in React and store would MondDB
Any help would be greatly appreciated. Thankyou!
That is a lot to take on, particularly all at once.
1) The SCORM spec is made up of multiple parts. There is a packaging portion and a runtime portion. The basics are that your package needs to be a zip file, and that zip needs to include specific files that indicate to the LMS what type of standard it is along with other metadata about the package. For SCORM this will be called an imsmanifest.xml file. For xAPI you are most likely going to use a cmi5.xml (see cmi5) or a tincan.xml file (what Articulate Storyline exports when it says "xAPI"). The other parts of the package will depend on what standard and version of that standard (for SCORM 1.2, 2004 2nd, 3rd, or 4th edition) you are targeting, realizing that different LMSs support different standards and different degrees of those standards.
Once you have a package constructed that will import, the content itself (usually an HTML file) will need to locate the JavaScript API provided by the SCORM player (from the LMS) and make specific calls depending on what the content is needing to store or read, this is the runtime portion. The calls will again depend on the standard and version. For xAPI based packages (either tincan.xml packages or cmi5 packages) the content will communicate directly to the LRS based on the information provided on the URL at launch time (there is no built in JavaScript API).
2) This entirely depends on what your customer base looks like and the types of data that you intend to capture. SCORM is a more mature landscape and has wider adoption and is more heavily specified, if the information you need to capture fits into its limited information model then it is still an excellent choice. If you need significant data portability and/or the information you need to capture goes beyond compliance data (pass/fail, complete, and score) and/or interaction data (questions + answers) then you should consider xAPI, specifically via cmi5.
3) The LMS must provide a JavaScript API (specified by the SCORM runtime) which the content will use as its interface. The storage/retrieval of data is implementation specific for the LMS beyond what is included in the specification for the JavaScript API.
4) You didn't really include a question here.
I would suggest familiarizing yourself with the two sets of standards via http://scorm.com and http://xapi.com. And although it is a plug for my company's product, you may want to consider the Rustici Driver as it is a product (library) specifically designed to make it easy for an authoring tool to export content as SCORM 1.2, 2004, AICC, cmi5 or Tin Can (the latter two being xAPI). Once you have your tool up and running with minimal standards support you should consider testing it on Rustici's SCORM Cloud (it is free for this purpose), see http://cloud.scorm.com.
The format is huge, there is no quick reference guides. And different authoring tools have different scorm-support depths. You should probably start with this document
Sounds like you're talking about designing editable content; and the content "framework" itself.
This is a massive effort! This is massive support! That said, people do it.
Having built a CMS system for many supporting subject matters I had to divide and conquer this task.
Few ways I'd think to digest this beast- data, data, data
Requirements on Activities (Interaction types)
Design (static/dynamic) on these interactions
The view/facade displaying can change. Tech moves at the speed of light. Need to come up with a super solid data model.
I'd think about how these can be generic, and how they can be extended to meet the customers goals/needs. All depends how much customization (if any) can happen.
I start mapping all this to SCORM CMI Object level calls. Scoring, Progress, Interactions, Objectives etc...
Get your self a wicked SCORM Content API library or write one yourself. You'll be re-using a lot of these calls, no sense baking them into all your interactions
Get up on SCORM Packaging .. much of this has to be defined at author time. Lots of reading, and a lot of features you need to pick thru if your customers even use. Don't dev in places that have .1% market need. The low hanging fruit get you to market.
Surround yourself with passionate great people. You'll need them.
As far as the standards go, it's all about portability. SCORM works directly with a LMS if thats where your customer goes. Others use a LRS which is coded to work with one they set at author time. You can even do both.
Aside from React and MongoDB, you'll need something that can do the lift and shift of all this content.

Making a backup creator

I am helping develop a program that makes an easy way to backup a specific file format in the form of an ips patch. We want it to compare 2 files, one in the program folder with a specific name(for ease) and then another that's user selected, which will then produce a patch with the current date/time as the file name. We are coding in C. Are there any tips on to how we can manage this?
The easiest way to do this would be to find an existing IPS implementation in the form of either:
A pre-existing library plus API
A pre-existing project
Fortunately for you, Neill Corlett (the wonderful guy who made the English translation of "Secret of Mana 2" / "Seiken Densetsu 3" a reality) has already created an openly available implementiation of the UPS and IPS patch generation/application algorithms. Please refer to the associated readme file to determine the licensing terms.
Anyhow, you can just modify the main() function in the program to select two particular file names (his existing program is already designed to accept them as command-line arguments), and the work is passed off the the existing functions that handle patch generation/application.
Good luck!

List of popular importable calendar formats?

Say I wanted to write a program that would export calendar data so that it could be imported into another calendar application. What would be some popular formats for that, and where could I find information on the formats of those files?
Popular usage:
Google summer of code have three different format options:
Important Dates
You can also check out our Google Calendar in several formats:
XML
ICAL
HTML
where html is not really an export format as such. I would start with looking into the ical and the xml format they use.
.ics is a simple plain text (easily parsed / generated) calendar format supported by several applications.

Resources