SharePoint

Blog
SharePoint
Sunday, February 5, 2017PrintSubscribe
DotNetNuke Factory and DotNetNuke SaaS

DotNetNuke (DNN) is a popular content management system build with Microsoft ASP.NET technology with the loyal following. Developers love the ease of customization and native support for Microsoft Development Tools. Nevertheless it is difficult to build complex user interface when large number of data entry screens is required. Code On Time application generator provides DotNetNuke Factory project designed to produce native DNN module with complex data entry screens created directly from your database.

Applications for DNN created with Code On Time have a Classical (Desktop) user interface and cannot run outside of the portal on their own. Over the past years we have developed a new powerful user interface called Touch UI. This user interface relies on the pages with special structure to enable execution on both mobile and desktop devices. It is impossible to plug such pages into the DNN portal without disrupting its core functionality.

Our product used to offer SharePoint Factory project designed to create native web parts for this portal in the fashion very similar to DotNetNuke Factory. In fact, some core capabilities were shared between the two. Microsoft has greatly changed SharePoint portal starting with SharePoint 2013. It became impossible to incorporate custom web parts directly in the pages of this portal. Instead, developers have to create dedicated applications, which run in a completely isolated environment frequently on a different physical server. The output of the custom code is displayed in an <iframe> element allocated on the SharePoint page for the purpose of integration. The custom code must use OAuth protocol for authentication if access to the host site data such as current user is required.

Starting with release 8.5.12.0 we are retiring SharePoint Factory project and make it possible to integrate any Web Site Factory or Web App Factory project in Software-as-a-Service mode into SharePoint Online (http://sharepoint.com), SharePoint 2013, and above. A free web part from Microsoft Office Store (https://store.office.com/en-us/app.aspx?assetid=WA104380704) makes it easy to integrate Code On Time apps in SharePoint sites (http://codeontime.com/learn/sharepoint/add-in/configuration).

We will bring Touch UI and SaaS integration technology to DotNetNuke users in release 8.5.13.0.

Developers will create either Web Site Factory or Web App Factory project on top of their database. The database will have its own security system to maintain users and roles. The following will be performed when application is ready for integration:

    1. Application will be deployed to either dedicated server or on the machine where DNN portal is running.

    2. Developer will generate a secret key stored in the application database.

    3. Developer will install a Data Connector for Cloud On Time module into the portal and have it configured on portal page.
        1. The module will be placed on the page of the portal.

        2. The secret key generated in step #2 will be specified in the module properties.

        3. URL of the application page or its root address must be specified.

        4. Optional DNN tokens can be listed in the Data Connector configuration.

      1. Data Connector will communicate with the the application instance when the page is rendered by the portal on the server:
          1. Connector will make a server-to-server request to the application passing the encrypted secret key, name of the user, roles, and  optional values of DNN tokens.

          2. Application will confirm the secret key, process tokens, and return login token to the Data Connector.

          3. If the portal user does not exist in the application database, then the user with the same name and random password is created.

          4. User roles in the application database are synchronized with the portal roles.

          5. Data Connector will render an <iframe> element in the output of the page with the login token in the URL pointing to application page.

        1. The page with the <iframe> will be rendered by the web browser on the client device.

        2. Application will perform single-sign-on for the current user with the help of the login token in the URL of the <iframe>.

          Universal Business Applications created with Code On Time and Cloud On Time will work both on their own and also in SaaS mode within DotNetNuke, Microsoft SharePoint Online, and Google G-Suite. If a hosted UBA is accessed directly, then the hosting environment will perform user authentication, which makes possible using apps on mobile devices outside of the host environment.

          Code On Time will continue to ship with DotNetNuke Factory. If developers have existing projects of this type, then they may choose to continue creating native DNN Factory apps with Classical user interface.

          Friday, January 20, 2017PrintSubscribe
          Configuring SharePoint Web Part

          Starting in release 8.5.12.0, Code On Time web applications created with Premium or Unlimited can operate in Software-as-a-Service mode. Give access to your line-of-business web app from SharePoint Online using this mode. User will be authenticated by SharePoint, and logged into the app as a user account with matching identity. If a user account with username equal to the email address of the SharePoint user is not found, then a new user record will be created. The user’s password and password answer will be randomly generated, to ensure that it is impossible to sign in directly without being authenticated by SharePoint. User roles are synchronized with the groups of the SharePoint identity upon every sign in.

          Please note that it is highly recommended to deploy your app with SSL – otherwise, browsers must be placed in “low-security” mode in order for the web part to work.

          We provide a free add-in for SharePoint, called Data Connector for Cloud On Time. The purpose of this add-in is to allow easy integration of Code On Time and Cloud On Time applications into SharePoint websites.

          Installing the Add-In

          The first step to configuring the Data Connector for Cloud On Time add-in is to install the app to your SharePoint site.

          Navigate to your SharePoint site, and log in. In the top right corner, press the Gear icon and press “Add an app”.

          Adding an app to the site.

          On the left side of the screen, press “SharePoint Store”.

          Adding an app from the SharePoint Store.

          In the search box, paste “WA104380704” and press “Enter” on your keyboard. Select the app from the list.

          Finding the Data Connector for Cloud On Time app in the SharePoint Store.

          Press the “ADD IT” button to install the app to your SharePoint site.

          Adding the Data Connector for Cloud On Time app in the SharePoint Store.

          Once complete, a confirmation screen will be shown. Press “Return to site”.

          The app has been installed.

          Finally, press “Trust It” to finish installation.

          Trusting the app.

          Adding the Web Part to a Page

          Once the add-in has been installed, the “Data Connector for Cloud On Time” web part can be added to any page of your site.  The following instructions explain how you can create a new page and connect an existing Code On Time or Cloud On Time application to your SharePoint instance.

          Navigate to the home page of the SharePoint site, click the “PAGE” tab of the ribbon at the top of the screen, and select “View All Pages”.

          Selecting 'View All Pages' of the SharePoint site.

          Next, select “New” on the toolbar, and choose “Wiki Page”.

          Adding a new Wiki Page to the site.

          Give the page a name and press “Create”.

          Giving the wiki page a name.

          After pressing “Create”, you will navigate to the new page. On the ribbon at the top of the screen, select the “INSERT” tab and press “App Part”. Pick “Data Connector for Cloud On Time” from the list of parts, and press “Add”.

          Inserting the "Data Connector For Cloud On Time" web part to the page.

          The web part will be added to the page.

          The "Data Connector For Cloud On Time" web part has been added to the page.

          Registering The App

          The next step is to register the app in order to enable your web application to authenticate users and query user groups. Click on the “REGISTER YOUR APP” link displayed in the default web part contents, or navigate to “https://mysite.sharepoint.com/_layouts/15/AppRegNew.aspx”, making sure to replace the root with your SharePoint site URL.

          Press “Generate” next to Client Id and Client Secret fields to generate new values. Enter a title for the app, and specify the app domain. The Redirect URI must be equal to the app domain with the path “appservices/saas/sharepoint” appended to the end.

          Specifying the new app registration properties.

          Press “Create” to complete the app registration. Make sure to copy the registration details from this screen, as shown below.

          Copying the app registration properties.

          Next, navigate to your Cloud On Time or Code On Time application, sign in as a user with administrative role, and navigate to your Site Content page. Create a new record with the following properties. The Text property can be composed from the text copied from SharePoint, with the Client Uri added on the next line.

          Property Value
          Name sharepoint
          Path sys/saas
          Text

          Client Id:
          aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa 
          Client Secret:
          aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/aaaaaaaaaaaa= 
          Title:
          Northwind Demo 
          App Domain:
          demo.codeontime.com 
          Redirect URI:
          https://demo.codeontime.com/northwind/appservices/saas/sharepoint
          Client Uri:
          codeontime.sharepoint.com

          Press OK to save the service registration.

          It is necessary to associate a system identity to the registration in order to synchronize user roles with their assigned SharePoint groups. Select the row one more time, and press “Add System Identity”.

          Adding system identity to the sharepoint registration.

          You will be required to sign in and “Trust” the app. Make sure to log in with an administrative SharePoint account. Upon completion, you will be transferred back to the Site Content page, and the SharePoint registration record will be updated with the granted access token.

          Configuring the Web Part

          Return back to SharePoint and continue configuration of the web part. In the top-right corner of the web part, press the down chevron and select “Edit Web Part”.

          Editing the web part properties.

          The web part properties window will open. Under “Appearance” section, change Chrome State to “None”. Expand the “Software as a Service” section, and specify the URL of your cloud app in the Cloud property. Optionally specify a Start Page or disable the navigation.

          Editing the web part properties.

          Press OK to save changes.

          Using the Web Part

          If the registration has been configured correctly, the Cloud On Time or Code On Time application will load in the web part zone. This application will “talk” directly to your SharePoint instance via OAuth protocol to obtain the user name, email, and groups. The result of this conversation is a prompt displayed to the end user asking to trust the application.

          Web part displaying permission request.

          If the user presses “Trust It”, then the application will sign the user in with the user’s SharePoint identity, and assign their groups as roles to that user. The user will then be redirected to the start page specified in the web part properties.

          The web part navigated to the correct page in SaaS mode, with user and roles automatically created.

          Cloud On Time For SharePoint privacy policy can be found here.

          Wednesday, January 11, 2017PrintSubscribe
          Announcing COT v9

          We are pleased to announce that the new year brings about an all-new version of Code On Time, called COT v9. This product will come in three flavors: Code On Time, Cloud On Time, and Cloud On Time Private Edition.

          The new version brings a unified development environment directly into your application. Users with development privileges will be able to activate the Project Designer from within the live app. The Project Explorer will be displayed alongside application pages and will synchronize itself with the currently visible content. Changes to the project will be reflected instantly in the presentation. The Project Designer communicates with the backend, implemented differently for every flavor of COT v9.

          The “Code On Time” flavor of v9 will interact directly with the application generator that you are familiar with. The app generator will run in a batch mode in response to developer actions. Application code will be created, generated, and modified in the exact same fashion you are used to. Visual Studio IDE will be launched when you need to see a C#/Visual Basic business rule, or would like to see the source code of the project. The source code is stored on your computer. You can use your own version control system. You can work with any supported database engine. You will install COT v9 on your computer. The price for Code On Time edition of v9 will remain the same as the current shipping version of the product. Licenses will continue to be perpetual. Active customers will receive “Code On Time” flavor of v9 as a regular product update.

          The “Cloud On Time” flavor of v9 will interact with a hosted version of the application generator. Applications and data are stored in the Microsoft Azure Cloud. A built-in Database Designer will be used to create database tables and views within the live app. Developers will be offered a choice of SQL, JavaScript, and Email business rules. “Cloud On Time” does not require installation, and works on any web-enabled device. A monthly subscription fee is based on the number of developers and the number of records in the database. A free trial will be available.

          The “Cloud On Time Private Edition” flavor of v9 will interact with a hosted version of the application generator installed on the customer premises. This product is targeted towards privacy-conscious customers with a need for rapid application development. It will be possible to create business rules with C# or Visual Basic to extend applications. The product will be sold with a perpetual license with 6, 12, or 24 months of updates.

          Applications created with COT v9 support code-free integration with Google Apps and popular content management systems, such as SharePoint or DotNetNuke.

          Rapidly build universal business apps on any device, and in any environment.

          Modal login form with three external login options.

          Split view displayed on Suppliers page created with Code On Time.

          Context panel with new material icons in application using Touch UI.

          Image headers and form action bar in Categories form.

          Modal page sliding when opening additional pages.

          Modal page with mini sidebar.

          Pricing for “Cloud On Time” and “Cloud On Time Private Edition” will be announced soon.

          We are estimating that COT v9 will become available in March-April of 2017.

          We know that many of you awaiting anxiously for the next product update. Release 8.5.12.0 is expected to arrive very soon, and brings many features of COT v9 into your hands. Please stay tuned.