I'm having difficulty finding way to open multiple scorms simultaneously..
Is there a setting that I need to change or blackboard does not allow multiple scorms to be opened?
So commonly with SCORM you have a Runtime API that is nested somewhere on the LMS web page. This API is directly flavored for the SCO that was requested. So having multiples trying to talk to the same API would lead to data corruption. The only way to extend the capability for multiple shareable content objects would require more IFRAMEs. You'd need to nest the runtime in the first IFRAME, then the Content in a sub IFRAME. I've accomplished this with another client and it was done mainly to represent single page SCOs stacked on top of each other as a Q and A style homework display.
Is it optimal? Probably not. Does it work? Totally. The SCORM Runtime is a JavaScript based API which is populated with a CMI object. Namespaces within that CMI Object (get / set) from the content, however the LMS is responsible for populating its base values as well as maintaining whats allowed and not allowed. Hope that helps, but based on your question Blackboard would have to implement that sort of module support to do it.
Related
I am embarking on a POC to replace a Power BI dashboard that can’t do all the visualizations we need with a dash app. One major requirement is to be able to pass multiple filters to the app via url in a manner similar to the Power BI capability.
I have tried to research this and see references to URL callbacks and believe this provides the functionality I will need, but I don’t yet understand dash apps well enough to be sure.
I’m not asking how to, just whether or not it can be done. Thanks!
You can. Use the dcc.Location component (docs), and structure any callbacks that need to listen to the URL to have an Input based on that component. You can even pass multiple things with it, such as "filter_1/3/filter_2/5/filter_3/1" and then .split('/') to break up the string and parse the values.
As I am trying to develop an easy SCORM editor, which creates some SCORM content( like quizzes).
I read the four books provided by ADL, but still wasn't able to understand which are the conformance requirements or the rules which I have to take care, when I
try to save the content from my editor as SCORM, therefor this content to be a SCORM valid content.
Is there any good description out there, which specifies exactly, how does in detail a structure looks like, which requirements are to fulfill and so on, to be the content Valid?
Manual I did it, using LMS which supports SCORM content, and check if it works, but this is not what I am looking for?
ADL has a page for SCORM 1.2. http://www.adlnet.gov/scorm/scorm-version-1-2/ ... On that SCORM 1.2 page there's also downloads of starter templates, content examples, and user guides for ISDs and content developers.
At the bottom of the page, there's a link to download the SCORM 1.2 documentation. One of the pdfs in that download is the SCORM 1.2 Conformance Requirements. I think that's what you're looking for.
For valid content, you'll need to follow the packaging rules described in the CAM book. Basically, how to zip up all the content and describe it with the manifest.xml file.
When making SCOs (a single page or lesson - generally HTML) you can refer to the RunTime Environment book for information about how a SCO communicates with the LMS, the API and the data you can get and set from the LMS.
In SCORM 1.2 much of the spec was optional. This means the LMS may not support all of the features. So if you divide and conquer you don't have to take on the whole thing at once.
Valid SCORM will look up the LMS Runtime API which is literally called 'API'. This exists in window.top, window and other locations so you need a algorithm to find it. Your content may be launched in a IFRAME, new window, tab etc ...
Next you'll begin to interact with the Runtime, Initalizing, setting values, commiting and Terminating.
SCORM 1.2 had all the lesson status merged so your either passed, failed, completed or incomplete. You'll need to determine which of those is more important to you. Mainly you'll be interacting with name spaces within the CMI object the specification mentions.
But mainly you'll possibly want to set a score, a location, suspend if you want to allow the student to resume etc ...
You may do single pages, or have a frame or ajax load of external HTML/JS to act as navigation. SCORM doesn't really supply the basis of the presentation layer, so you are left to invent that. Could be Flash, Unity or the previously mentioned tech.
You can take what you will from my open source project which rolls back to SCORM 1.2. Also have more info on the Wiki there. https://github.com/cybercussion/SCOBot
GL
I wanted to know the technology decision behind the iOS Google app.
As we can see, in the app's Google Now feature it renders many different card templates for different scenarios, and those templates seems to be very flexible based on server inputs.
I was wondering if this is implemented all based on HTML5? or they just have many templates built in and render them locally? I'd vote for the HTML5 route but not sure if this still involved some native code to make it more responsive?
Thanks!
As we (well, most of the community) are not Google employees we can't tell you what they really did, but I'd say that it is possible to do this dynamically in the app.
We did develop something similar that responds to definitions sent by the server and transforms them to custom designed forms following basic rules.
Google reuses the design of those cards for different plattforms, the easiest solution should be showing some WebView and using HTML5.
I agree with Kevin, as this answer is entirely based on personal opinion, too.
The way I would go is to create a card class which will load some JSON data and format it with HTML and CSS. Looking at each card it would be hell to format things that way natively. I mean, attributed strings is not the way to go. Too much logic for deciding which card get a bigger text or a picture.
Additionally, the top header is most likely "localized" as well, so you get the location and load a localized image. But that is Google by nature.
I'm not 100% sure if this is a programming question, but I do believe I'm targeting the correct audience for this issue.
I've built a web-based frontend for an application. Now the frontend will be deployed to the customer's machine (localhost-based website). However, this frontend uses Google Maps V3 and some other external components. It will need internet access, but the customer network is highly secured. Here my issues begin.
To make sure everything works as planned, we need to allow the connections that are being made when starting up the webpage, so I need a list of URLs that my frontend is using when starting up. I mainly need the google maps URLs, they are so varied (googleis.com, gstatic.com, ...)
How can I get a list of these URLs? Is there any Google documentation (didn't find any)?
I've thought about using Firebug and listing all entries in the Network tab. However, that scales to about 2000 items (including all images, scripts, CSS stylesheets etc that are being loaded from the local website).
Or is there a tool/workaround to easily find out which connections should be explicitly allowed for the website to work like it should?
Your approach of using the Firebug - Network tab is good. The Chrome Developer Tools - Network view is also very good. I haven't seen a list of everything that gets loaded by the map, but that is because it varies based on how you set up your map. I know that Google works hard to only load what is needed by your map, based on your options.
So if you only use selected map controls, Google will try to limit the image downloads to just what is needed to display the controls your map needs. Of course, if you include additional items, such as using a parameter on the URL that loads the drawing tools (libraries=drawing), you will have additional network loading. Google defined these "extra" items as libraries to avoid loading everything; just those that need them will have to load them.
Other than setting your map up and watching what is loaded, I can't think of another option.
I'm trying to get my Chrome extension working with the Google Calendar API. However, the way Google has set up the extension sandbox makes anything almost impossible.
I can't add the Calendar API using JavaScript because I've tried 200 different ways to include the http://www.google.com/jsapi library. Therefore, I want to try interact with the Calendar API with PHP. Is it even possible to do a POST from a Chrome extension in order to run my PHP file? If not, it's pretty much impossible to interact with any external API that doesn't have a downloadable library, isn't it? If that's the case, I don't see how you can make anything useful with Chrome extensions.
I think you are still having difficulties because you don't completely understand the difference between content scripts and background pages.
Content scripts have certain limits. They can't:
Use chrome.* APIs (except for parts of chrome.extension)
Use variables or functions defined by their extension's pages
Use variables or functions defined by web pages or by other content scripts
Make cross-site XMLHttpRequests
Basically all they can is access DOM of a page where they were injected and communicate with background page (by sending requests).
Background page thankfully doesn't have any of those limits, only it can't access pages user is viewing. Good news is that background page can communicate with content scripts (again through requests).
As you can see background page and content scripts supplement each other. If you use both at the same time you have almost no limitations. All you need is correctly split your logic between those two.
As to your initial question - content scripts can't make cross domain requests, but background pages can. You can read more here.