SCORM Integration With local DB - php

I have a PHP web application, I need to integrate SCORM with my application.I know that there is cloud option for integrating SCORM. But our requirement is that saving course details into our local DB.
Please help me.

You have a couple options for integrating SCORM content into standalone (web or otherwise) applications.
One is SCORMCloud (www.scorm.com), which gives you an integration API. They have PHP based plugins for both WordPress and Drupal, which you can use as a guide.
SCORMCloud has a couple of methods based whereby you can bring your learner data back into your database.
When a course launch is finished, SCORMCloud will redirect back to your website. At that point, you can hit the SCORMCloud API and fetch the results of your launch, and write that back to your database.
Our company (www.aura-software.com) produces an application integration framework for cloud based elearning sources (Vimeo, SCORMCloud, TinCan LRSs) called Bright CloudConnect. Depending on what your integration requirements were, it can perform the same functions and a few others. Enabling trackable elearning in existing applications is Bright's primary function.

Related

AngularJS Client Consume Magneto Server? Via Rest or SOAP?

Hi I am building an application based on Magento CE 1.9.2
I have previous experience with magento but not recently or experience using the API, either SOAP or REST.
I am trying to decide whether or not it is fully beneficial or it is recommended to to abstract the client allow a fully fledged e-commerce store using an angular client / magento.
I am trying to see if it efficient to integrate AngularJs within Magento or have an Angular client making calls to the Magento API.
I have found this resource and i am investigating:
https://github.com/Wildhoney/Magento-on-Angular
This seems like an interested libary but before i start i wanted to see what the limitations where for accessing data through either SOAP or REST.
Specially as i am building this application for a client who requires the basic shoping aspects and noting to advanced, is there any data / functionality which magento would not be able to send to the client to utilise?
I wish to have the angular client ( this can be on a PHP based app such as laravel like in Magento-on-angular), i need to be able to get all the products, post reviews and interact with say magento modules, modules which work with say instragram and pull down the review pictures which will be sent to a client, i wish to make a full angular checkout and simply post a checkout object (something alone those lines) to magento for it to parse.
my objective is to have a minimal client which does not lack in functionality and i am very proficient in angular, angular was chosen due to the front end requirements of the application.
Or any other constraints or advice?
Or a Pro's / Con's List.
Thanks

Sync Mobile App and Web App without third party services

Currently building a hybrid app. using Ionic Framework with PHP for backend services
I am having a case where a user has got his profile in Web app and Mobile App as well.
If the user adds two stories as favourites (Its kind of a reading app) from his mobile app or Web app,how do I sync that?
Here are the scenarios:
1) User marks the stories favourites from web app and when I come online through mobile app, display it.
2) User marks the stories favourites from mobile app when he is offline(Now this will be stored in LocalDB). So again when he comes online sync with the server?
I know there are services like Firebase which provides syncing service.
But What If I would want to develop a Custom Syncing service on my own for my application? Is that an extremely complicated process?
If yes and it can be developed ,then how should I proceed ? A basic idea? What are the best practices that I should consider?
Any links would be appreciated?
I know some of the comments recommended CouchDB in combination with PouchDB. That is a much better solution than trying to implement your own synchronization service with MySQL.
However, since you're using Ionic Framework you can also use Couchbase. Take the following example application:
https://github.com/couchbaselabs/TodoLite-Ionic
If you chose this solution you would have three moving parts. You would be replacing MySQL with Couchbase Server and running the Couchbase Sync Gateway to orchestrate any data between the device and the server. You can still keep your PHP backend if you have a web version of your application as there is a PHP SDK for Couchbase.
Two write-ups on this can be found here:
http://blog.couchbase.com/using-couchbase-in-your-ionic-framework-application-part-1
http://blog.couchbase.com/using-couchbase-in-your-ionic-framework-application-part-2
In the long term, you're going to find NoSQL much more pleasant to work with when it comes to APIs and mobile than MySQL.
Can be useful to write a POST method on the backend that receives the data from your local from the app and some user data (session, access tokens and other thing you considered neceasary). On the body for the request you include the data needed to be synced. The backend takes the body. Parse it and rreturn a result (http code) Based on that you can decide if the app should delete the local data or only mark it as synced on the local database

Quickbooks Desktop to send information through REST API

Very shortly I will be required to do an integration between Quickbooks Desktop and a PHP website. I'm aware that there exists a PHP QuickBooks class that helps with integrating, but to my knowledge that only works when the PHP site is the one to initiate contact with the Desktop application. It's required of me that when a Purchase Order and/or Product is created on QuickBooks, it will automatically (and instantaneously) send the information over to my website using a REST API. Considering there will be multiple instances of QuickBooks Desktop that will be connected (we will allow customers to use a QuickBooks application that we will build), it is not practical to have to constantly check if ALL of those QuickBooks Desktop instances have any new Purchase Orders or Products that have been created since the last time we checked.
Is there a way to somehow add code to QuickBooks to send Purchase Orders and Products (upon creation) to my website using a REST API?
Thank you
QuickBooks itself doesn't really have any reliable method of catching events like you're talking about, and also doesn't have any way to then relay those events to an external REST API. So, you're not going to find exactly what you're looking for - it isn't possible.
With that said, you CAN get close by having an external application that polls QuickBooks periodically (as often as every few seconds) to grab new data from it, and then relays that data up to your REST API.
The easiest way to do this is via the Web Connector. It can poll as frequently as 1 minute, and is very capable of doing exactly what you're talking about. If you want to go with the Web Connector, your best bet is probably this open-source QuickBooks PHP DevKit (disclaimer: I'm the author). You could start with the Web Connector quick-start guide.
The harder way, but more flexible way is to write a custom QuickBooks SDK application that sits alongside QuickBooks, polls QuickBooks periodically, and relays that data up to your app. If you want to do this, you should check out the QuickBooks SDK - it has some C# and VB.NET examples in it which should prove useful.
Some specific notes:
but to my knowledge that only works when the PHP site is the one to initiate contact with the Desktop application.
Actually no - it only works when the Web Connector (which runs alongside QuickBooks) initiates the communication. But you can set it to run every 1 minute, which makes it pretty much constantly run and push data up to your app.
it will automatically
This is easily do-able with either the Web Connector or a custom SDK app.
(and instantaneously)
This isn't do-able. QuickBooks isn't even fast-enough performing to instantaneously relay data. You will never get instant data transfers from QuickBooks, so just forget about it now. (This is especially the case when you realize that there are lots of things in QuickBooks that can completely lock integrated applications out of even connecting to the data file - single-user mode, QuickBooks automatic updates, QuickBooks not being running, too many users in QuickBooks, etc.)
send the information over to my website using a REST API.
If using the Web Connector, your website receives the data, and you can then transform it and send it to your REST API.
If using a custom SDK app, you can write custom code to do that no problem.
it is not practical to have to constantly check if ALL of those QuickBooks Desktop instances have any new Purchase Orders or Products that have been created since the last time we checked.
Are you sure? We do this every day for thousands and thousands of people on ridiculously under-powered hardware.

Moodle Integration with a PHP project of mine

I've been developing a project using php that my students use to take quizes (that moodle can't do itself) Now I would like to integrate moodle and my project such that my project authenticates against moodle users and reports grades into a courses gradebook. I've so far been authenticating using direct database reading but I'm very hesitant to do writes to the moodle database. I'm also aware of LTI; I am open to using it but the human readable documentation and any samples are impossible to find. If you could provide me a sample or documentation thats less theory and more applicable for LTI it would be greatly appreciated.
Thanks in advance.
To do this you need to use the Web Services API. You need to setup a web service first, see Using web services. The entire API documentation is available on your Moodle site via Administration > Plugins > Web services > API Documentation.
You need to use moodle's External Tool, which is created precisely for this kind of uses. External tool uses LTI in the background to send user, course, role etc information to an external application and the external application can even send back scores to moodle if configured as a quiz.
Check out : https://docs.moodle.org/23/en/External_tool
You will also have to make your quiz taking app, an LTI provider.
This open source package is out of the box package to create LTI provider in ruby - https://github.com/instructure/ims-lti
There are similar tools in other languages too, but this one is the most polished one.

Any luck with Drupal 6 and Quickbooks inventory export

Looking at the Quickbooks API I only see options to sync users. I may just need to export the fields I need directly from the database? Just hoping someone had some scripts/templates to work with this already. I am not too worried about sync as long as the client could manually import web transactions at the beginning of the day
The QuickBooks SDK has the ability to import and export inventory items, including quantity on hand and cost information. Just to be clear, I speaking here about the classic SDK and not the Partner Platform. Using the SDK it is possible to connect to a QuickBooks online company using XML over SSL, or to a desktop company file (still the most popular option for most users) using XML or Intuit's QBFC framework, which is compatible with .NET.
There is no way to access the QuickBooks "database" directly. QODBC give you the ability to run SQL against QuickBooks company file data via ODBC, but it is implemented using the SDK. QODBC is the best way to get up and running fast with QuickBooks, and it's also great for custom reporting. But for most sync applications, the actual data access is a minor part of the overall scope, and the control that you get from going directly to the SDK and bypassing QODBC is worth it.
Most developers who have experience with QuickBooks have a library to help with common SDK tasks. There are also some offerings at code.intuit.com. In addition to library code, it also helps to understand the behavior of both QuickBooks and the SDK. The SDK is well documented and if you haven't visited the SDK section of the Intuit Developer site I would highly recommend it.

Categories