Install SAP BUILD Admin module

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

After successfully installing BUILD (part1, part2) and sending out links or studies to your users, you may want to know how to administer the users going to be created in your instance. From the SAP BUILD GitHub site: https://github.com/SAP/BUILD#admin-settings.

“You can manage your user settings with the Admin module. Install the Admin module here:http://github.com/sapbuild/Admin. You can log in to the Admin module using your BUILD account details.”

What does the admin module give you? From the GitHub page, it is not clear. Here are some screenshots showing the admin functionality:

Looks interesting and is what you expect? Then read on to learn how to install the admin module.

Preparations

Download source code

GitHub location of the admin module: https://github.com/sapbuild/admin. Get it via git clone.

Command: git clone https://github.com/sapbuild/Admin.git

Use right Node.js version

Make sure to use the same node version as you have when installing BUILD. For instance, I`m using v 0.10.38. To change to this node version, I use nvmw.

Command: nvmw use v0.10.38

Enable C++ compiler

The BUILD admin module will, as the BUILD server, need to compile some files, so a C++ compiler must be available.

Command: call “C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.cmd” /Release /x64

Note: if npm cannot find a compile, you`ll get an error message like this one:

INSTALLTION

Command: npm install

This will download the dependencies and install them. If you are Lucky, this will only take some time and finish automatically without any error. In case you are a normal person, you`ll get an error. I got the same error message as I did during BUILD installation: a lock file was blocked.

Error

Solution

Run npm install again. Should solve the problem.

INSTALL NODE-INSPECTOR

Next is to install node-inspector. If you do not install node-inspector, the server won`t start. Looks like there is a dependency between the HTTP server and the debug option. https://github.com/node-inspector/node-inspector

Command: npm install -g node-inspector

RUN

After the admin module is installed, you can run it and access the web page to access your profile.

Command: grunt serve

Access the BUILD admin console on port 9000 of localhost: http://localhost:9001. Login with your BUILD user and credentials.

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

Getting started with BUILD – Installation

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

After meeting the pre-requirements for BUILD, it is time to actually install BUILD. The steps are outlined at SAP BUILD GitHub page. There a 4 steps:

  1. Get the tool
  2. Install required node modules
  3. Initialize the db
  4. Start the app

Be sure to have followed the steps outlined in the pre-requisites in my previous blog.

1. Get the tool

BUILD is hosted on GitHub, so all it needs to get the source code is git. It`s as of today only 255 MB that you have to download.

Command: git clone https://github.com/SAP/BUILD.git

2. Install required node modules

Change to the BUILD directory and run the following commands:

Command: npm install –g grunt-cli

Change to BUILD\BUILD directory. Install dependency of project

Command: npm install

Note: before doing this, verify that the command shell you are using is configured to use node v0.10.38

Command: nvmw use v0.10.38

Tip: The installation will have to compile some libraries using Microsoft C++ compiler. Make sure the compiler is using the right SDK.

Command: call “C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd” /Release /x64

Now the SDK is using the 64 bit version of the SDK.

Result

Node-gyp is compiling files.

In the end, you should see something like that:

Possible errors

Error: mocha\bin does not exist

Solution: try a npm cache clear, delete the local node_modules directory and run npm install again.

Error: Could not load the Visual C++ component

In case you did not point the SDK to use the right MSFT compiler, you get this error message:

Solution: Run from within cmd: call “C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd” /Release /x64

Error: EPERM with npm-cache

Solution: run npm install again. It should now pass this error. You may have to delete the lock file.

3. Initialize the database

Only needed after initial installation of BUILD.

Run the commands from the server directory.

Create schema

Command: node initSchema.js

The above command will create a DB schema called norman. Taking a look into the config file, reveals that there is a section for db. The defines a database named norman.


"db": {
"hosts": "localhost",
"database": "norman",
"options": {
"db": {
"w": 1
},
server": {
"poolSize": 5,
"socketOptions": {
"keepAlive": 1
}
}
}
},

Test

The see if the database was created in mongo db, connect to the db and issue the command show dbs.

Command: mongo.exe

Command: show dbs

Set access permissions

Command: node setDefaultAccess.js

4. Start BUILD app

Command: grunt serve

Result

Note the final line stating: Server started.

Access BUILD

This means that the http server is running at default port 9000 on localhost. Access it on Chrome.

Click on join to create an account. Afterwards, create a new project

  1. Enjoy BUILD

Have fun.

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

Getting started with BUILD – Pre requisites

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

SAP showed a demo of BUILD at its TechEd keynote at Las Vegas. The 1st time I tried to install BUILD on my laptop was shortly after it was launched and I was still in the hospital; and I failed getting it working. Afterwards I mainly interacted with BUILD using SAP`s internal system. The installation is not an easy next, next, next wizard (yet), but as BUILD is a really impressive tool for UX, AND OPEN SOURCE, I believe nobody should be left out of using BUILD just because the installation isn`t doable by everyone. So I created this blog showing how I installed BUILD on my Windows 7 64bit laptop. I hope it helps people getting started with exploring the powerful features of BUILD.

The GitHub project outlines the prerequisites as well as the actual installation steps. Meeting the prerequisites is a must, and not so easy, as you`ll need to have the right versions made available for build to work.

PREREQUISITES

The prerequisites are

  • GIT
  • npm.js in version1.4.28
  • node.js in version 0.10.33 or 0.10.38
  • MongoDB in version 2.6.x
  • node-gyp

Let me show you how I did make this work on a Windows 7 64bit laptop. Installing git is the easiest one. Just download it from git-scm.org. The others a little bit more complicated. Let me detail the steps here for each component.

NPM.JS

Command: npm –g install npm@1.4.28

Test

Command: npm –version

NODE.JS

You have basically two alternatives to install Node.js in version 0.10.38. Either you download it make sure that your cmd is using this version (PATH variable), or you activate the right version for your current session.

Download

There are several versions available for download from nodejs.org. You can opt to download the installer for a specific version or to download the executable. The URL to download the files for 0.10.38 is: https://nodejs.org/dist/v0.10.38/

To download just node.exe, download it from there and save it into a directory. Run node.exe from there and check that it is the right version number

Test

Command: node.exe –version

Node package manager

This is the alternative you should prefer. Easier to use, allows to have several node version in the system and done by npm. To do so, first install nvm. On Windows, you`ll have to use nvmw.

Command: npm install –g nvmw

Now you can use nvmw to install a specific version of node.

Command: nvmw install v0.10.38

Activate node.js 0.10.38

Command: nvmw use v0.10.38

Test

To see if 0.10.38 is now activated, run node with the version parameter

Command: node –version

Python

Download Python 2.7 installer and install python. Ensure that the python executable binary is in the path.

Test

Node-gyp

Looks like the installation of BUILD will have to compile some stuff, so node-gyp is being used. The installation of node-gyp is more complex and can be found here: https://github.com/nodejs/node-gyp/blob/master/README.md#installation

For Windows 7 64 bit, it means to install two components:

  • C++ compiler and
  • Windows 7 SDK

C++ compiler

The compiler is Microsoft Visual Studio C++ 2013 for Windows Desktop. Download it from Microsoft: http://www.microsoft.com/en-gb/download/details.aspx?id=44914

Select the version you want to download. I recommend the online installer.

After downloading the online installer, run it

Accept the license term to start the 7 GB install

Restart computer.

Windows 7 64bit SDK

Download the Windows 7 64bit SDK from Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=8279

Run the installer

Select the components you want to install. Best is to leave the default.

This starts the installation and download of necessary files.

Result: SDK is installed.

Afterwards, some strange Help Library Manager pops up and starts to fetch things from the Internet. Just let it finish and then exit it.

Possible error

Solution

“To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the Windows 7 SDK. Checking the list of installed programs reveals that I do have this library installed.” Microsoft

Uninstall these components

Install mongo db

Download binary zip from Mongo DB. Version: mongodb-win32-x86_64-2008plus-2.6.11. Follow install instructions from Mongo DB.

  1. Extract zip file to folder: C:\dev\tools\mongodb-2.6.11
  2. Create db data folder data\db

  3. Start mongo db from bin directory. Start mongo db and give path of database directory as parameter:

    Command: mongod.exe –dbpath “C:\dev\tools\mongodb-2.6.11\data\db”

Note: without the db data directory, mongo db won`t start.

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

Catch me if you can

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

I am going to TechEd Las Vegas 2015. My flight is departing on my birthday, and I hope that I will be jet lag free starting 19.10. My flight back to Rio is on 23.10. This means that I won`t be able to attend any session on the last event day (Friday), but have time to attend the sessions and workshops on the other 3 full conference days.

My schedule is based on my work. No experiments, nothing completely new I will try out, no out of the box thinking this time. My schedule is already pretty full with sessions related to Fiori, Web IDE, Mobile Secure / Afaria, Personas 3, SMP3, HCPms, mobile apps development. And I will also give two expert networking sessions:

Join these two sessions if you want to hear in a short time information about SMP3 architecture with Afaria, backend, client apps and the benefit of using an API or if you want to know more about the SIT Brasil events. You can check my site with more information about our events in Brazil.

I scheduled myself for two workshops: UX162 Effectively configure and manage SAP Fiori Launchpad and UX263 Improve the SAP UX with SAP Screen Personas. And both are on the same day! Other workshops that interested me conflicted with other sessions, and to be honest: I somehow prefer a session were you can better interact with the expert. Staying focused for 2 hours is complicated when I have to think about the other interesting session I may lose. That`s the good and bad thing about events: you will always be able to only attend a fraction of the sessions you want to go to, and inevitable lose a lot of high quality knowledge. At least the PPTs are of the sessions are made available! Besides this, I added a lot of MOB, UX and EXP sessions in my agenda. And I also will go to the usual SAP Mentor meet SAP executives meetings. Oh, and I have one DEV session in my agenda. I wonder why it’s only one, as I think I know a little bit about developing. Maybe I was searching for something related to CI/CD, quality analysis or package management J

There is a mission on SCN that is about getting in contact with a SAP Mentor. Based on my schedule this is either pretty simple – find me in a session – or pretty complicated – find my while I am searching the room of my next session. Either way, I am always available for a talk about SAP Portal, Fiori, UI5, mobility, Java, development, architecture, etc. But don`t expect an hour long conversation. I have to get to my next session 😀

This year’s TechEd marks my return to an SAP event outside Brazil since 2012. Yep, it`s my first TechEd since 2012. I cannot believe that I missed 2013 and 2014!!! I wonder how much the concept changed over the years. Don`t worry, I`ll keep you posted on my impressions.

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

Afaria 7 Self Service Portal – Error 403 Forbidden

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

I came recently across a strange error while trying to access my SAP Afaria 7 self-service portal. Suddenly I got a 403 error message.

The server was down for a few days as I did not have to use it. Maybe the shutdown of my VM didn`t work or Microsoft installed some patches, or something else. In the end, I could not log in anymore at my self-service portal at https://afaria.tobias.de/EUSSP/

I took a look at the site configuration at IIS Admin and the connection string to the AD looked good.

I reinstalled the self-service component, but no luck, still 403. Then I decided to take a closer look at the web site configuration. In IIS, there are ASP app pools, maybe something was wrong. Google pointed my to take a look at the ISAPI and CGI Restrictions located at the root of the web server.

The ASP.NET for 64 bit was not allowed to be used (restriction).

I activated that one. Afterwards, all are allowed (32bit and 64 bit, for all version)

To be on the safe side, I also run aspnet_regiis.exe –I from the installation directory of .NET v4 64bit.

Command: aspnet_regiis.exe –I

Now I was able to log on to SAP Afaria Self-Service Portal again!

 

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

The mobile OS that impacts you most

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn

Sorry Apple fan boys, it’s not iOS. And no, WP8.1 isn’t it too. Or did you really think that WP 8.1 had any impact at all? Besides Nokia. And WP10 is still not out there. Leaves us with Android, but while Android did a lot for the mobile net (some call it fragmentation, but in facts its empowerment of millions and millions of people to be able have a smartphone), it`s impact on your life isn`t as great as you think.

Windows Mobile/CE. Yes, that’s the mobile OS that impacts your daily life most. Without WM, the world wouldn’t be what it is today. The world economy is a global economy, and common business processes are used by a variety of companies. And when it comes to logistics, warehouse, material management, they have at least one thing in common: the process depends on field workers to enter data into the ERP system. These people use rugged devices for their work, and even in 2015, THE mobile OS for a rugged device is WM 6. Rugged devices are costly, come with a high level of support and are used to run processes that are put in place to work for years. Or a decade. And rugged devices are meant to support these processes. This implies that a process that went live in 2005 is still valid. Guess the mobile OS available in 2005: Windows Mobile (or CE).

When you buy something at a store, most likely that good passed somewhere in the process a WM rugged device. Or take field workers (energy companies, water, telecommunications, etc). When they have to check the equipment out in the field, guess what they have with them to register the captured data: a rugged device running WM. This should explain why support for WM is important for companies. And why a good mobile solution made to support corporate processes comes with WM support. You do not want to lose those companies as customers. What their field workers do is running the company. Without that, the company cannot run successfully. When you see an announcement that company A is going live in 2015 with a mobile solution running on WM 6.5, don’t thing that the company missed an important trend in mobility. They are actually following best practices and are aligned with a mobile strategy for companies. And if you are a mobile consultant that wants to help companies running their processes mobile, do not expect your clients to go for iOS, Android or WP10. There IS interest for those OS, but I reality can be cruel.

The field workers using those devices depend on them, as does the process and the company. Before a plane can take off, it needs to be inspected. The people doing this are not using paper. Same for an inspector at a harbor. As you might guess, these workers do not really care about UX, but on how to get their work done. Here we can see the main difference between the mobile world known to normal people and corporate mobile world. What is the difference between those business processes that run better when supported by a mobile device? And why is it so hard to make that device a “modern” smartphone? One important aspect is the lifetime. Those processes have a long lifetime. It can take months, or years for them to start being operational. See them using the same mobile device class for at least 5 years is common, if not 10 years. The HW vendors have adopted themselves to this. They do not only sell the devices, but support, software, etc. When a device needs to be replaced after 6 years, they can deliver. Try to get an iPhone that’s 6 years old!

Does this mean that there is no future for Android et al? Of course there is. Microsoft stopped developing of WM a while back; the vendors are moving on to Android. This is a slow process. A company that starts today with WM, expects to get a replacement unit in 3 or 5 years. And even in 7 years they won`t be happy when they cannot get a device that runs their software. WM will be offered for some time to come. Another point is that those rugged devices are not only ugly, but a certified to run under specific environmental conditions. Some areas you can only access when the device is certified to work under this conditions. Obtaining these certifications is not easy, it takes time and a stock Android / iPhone does not meet the criteria. The device needs to be built for those.

To be honest, the actual number of areas where you really need a rugged device is not as high as the vendor marketing thinks it is. In most cases a rugged case is more than enough to keep the dust away, or the water, or the humidity. A company can save money when they are aware of this and not strictly bound to a rugged device. A cheap smartphone can be used – no chip needed, just WiFi. An iPod is enough! The UX can be increased drastically. Although there are still a lot of parameters to be considered, like gloves, keyboard, battery life and of course: what happens in 5 years? Will it still be possible to replace the device? Will the software run on a next generation device?

Next time you go to the grocery store, turn on your light at home or take a flight, think a second about it what it takes to offer you the service you are used to. And that it won`t be possible without Microsoft and a not-so-loved but really useful mobile operating system.

Let the world know ...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someoneShare on LinkedIn