There are BI / OLAP tools for MEAN Stack platform? - node.js

Can anyone indicate me to a framework of BI / OLAP or at least a Chart Engine, preferably open source, which properly integrate with MEAN.JS or MEAN.IO platform in SPA - Single Page Application architecture?
I know the keen.io. It is free in low transactional volume, but it is not open-source.
The Pentaho is a great BI tool, it's open-source, has RESTful Services and supports MongoDB, but your dashboard still employs Java on the server side and is one generation behind frameworks like Node.js and Angular.JS and they are only migrating now for jQuery and Bootstrap.
Thank you in advance for any contribution.

Discovery 1
There is a amazing API, similar to jQuery in objective of manipulate DOM for you to compose graphic charts, named D3.JS - Data-Driven Documents d3js.org.
Discovery 2
There is a chart engine named NVD3 nvd3.org, built on D3.JS, that allow you apply re-usable chart components in your Javascript applications.
Discovery 3
There is a Angular.JS module named AngularJS-NVD3-directives http://cmaurer.github.io/angularjs-nvd3-directives/, that integrate the chart components of NVD3 into directives of Angular.JS, allowing use it natively in your Angular.JS applications.
The Open Source Solution for MEAN Stack
You can integrate AngularJS-NVD3-directives components with Pentaho RESTful services via Mongoose accessing your MongoDB data to build dashboards and scoreboards control panels for your applications.
You still need to write code to integrate each of the components of a control panel as grid layout, themes, field projection and visibility, filter, sort, pivot tables and charts.
Today, the development process of control panels isn't straightforward, but you already have an open source solution good enough to design impressive applications.

I've never used them and may be they're not what you're looking for, but you should definitively take a look to this two projects: d3js and raphaeljs
Hope this helps you!

Related

XPages for iPhone6: Which controls or framework do you use?

Just got a request for a fresh XPages project where an existing traditional Domino Web application should be modernized and mobilified (iPhone 6 being the target).
I'm comfortable with Boostrap, especially Mark Leuksinks add-on, and that is my first gut feeling.
On the other hand I'm aware of specific Mobile Controls, both from IBM and from Teamstudio, and was wondering if there is a 'best way' you would recommend.
I can pretty much control everything on the server. I'm aiming for quickest effect for minimum effort.
TeamStudio tools are good if you want offline or do other development that does offline (XControls can also be used online, so could give consistent look and feel and development experience).
XPages Mobile Controls require a single XPage in order to get transitions. So if it's a large application, that can make the XPage quite cumbersome. You need to become comfortable with the settings on each mobile page, to know when to refresh and when not to.
If you're familiar with Bootstrap and can "encourage" the end users towards your preference, then as a developer, that would make sense to me (leveraging existing skills means quicker development).
If you're comfortable with Bootstrap and responsive design, we'd certainly encourage going down that route. I take it you are aware that Bootstrap is now part of the XPages Extension Library on OpenNTF ? It was first released there in Nov 2014 and has been continuously updated since. And it will migrate to the core XPages runtime as part of the next GA release
I would use the DAS components and let Domino read/write JSON and implement the frontend using the IONIC framework. It uses AngularJS as JS framework, is conceptually not that different from Bootstrap l, but has all the hooks (using Cordova) to use native phone features.

Embeddable Web UI Designer

Is there are web framework that allows creating of custom Web UI designers that can be embedded into a webpage/webapp?
What I am looking for is to create a web UI that allows users to edit the UI in a drag and drop style editor. It should be possible to select some widgets (like these: http://scaffy.railsware.com/futurico/#pagination) and to select a data source (will be provided by back-end, nodejs).
Background: I am not a web designer and have no previous web experience. I just want to know if it possible to create what I am looking for and how much effort it would be. My background is in embedded Linux development and I would like to create an easy way for people to create machines with single board computers. The embedded stuff is pretty much complete and I am exploring ways to create nice and user editable user interfaces.
I think what you want is possible.
However... as far I know nothing exists which will do exactly what you require.
There are thousands of UI widgets on the Web to choose from but you would need a custom built backend cms developed especially for your needs
There plenty of Web agencies who could provide a bespoke solution. They could also assist with updates and adding new widgets.
So it can be done (and may encounter some browser incompatability issues), but you'll just have to be prepared to spend money.

First Time Developing Web-Based Geographic Information System

I'm assigned to develop web-based GIS, but I'm new with web programming. So, Where I can get an insight to start develop web-based GIS?
thank you before
regards!
You have to know about the 2 main components for web programming: front-end and back-end.
Front-end, is how the results/graphics are going to be displayed in the client (pad, monitor).
The most common tools are the javascript libraries like ArcGIS API for JavaScript, or OpenLayers.
For front-end you need to learn about html, css and javascript.
Back-end, is how you will manage the architecture (models-databases) of your project. There are many technologies to choose, for example, Java (J2EE) or .NET. For geodatabases there are systems like SQL server or PostGIS. Back-end is normally placed in the server.
In GIS you would also need a web mapping server (for sharing data, for instance), you can use GeoServer or ArcGIS for Server (commercial).
In my experience, I like to use django as back-end, this is a framework for web development using python (There are also many libraries for GIS using python which you can integrate). With django you can use a model-view-template controller to manage data to the web pages in a simple and fast way. Django has also a module called geodjango, to manage geodatabases, but not strong as GeoServer.
Start with "Requirements". To understand what requirements is, please start with a book on software engineering.
Once you have the requirements, you need to "Design" - what tools/technologies/languages to use. If you are just beginning programming, you typically get a senior to do the design
Then you get to a task, such as rendering google maps on a web page, that can be answered in something like stackoverflow.

is there a node.js package to embed Google Analytics charts into a web page

I am building a Node.js Analytics dashboard that includes internally generated data, and would like to add Charts from our Google Analytics.
1/ What is the right Google Analytics API to do so
2/ Is there a node.js package to embed the chart itself (rather than retrieving the data from GA and then having to build the chart myself)?
While not specifically Node.js, this is now possible with client-side JavaScript and Google's Embed API. That page also has well documented tutorials for building a basic dashboard, interactive charts and more.
You'll want to use the Core Reporting API to pull data, and you could try Google Chart Tools for creating your graphs.
Check out EmbeddedAnalytics.
While not a node.js solution, we are a 3rd party solution (using the Core Reporting) designed specifically so that you can avoid the heavy lifting of "retrieving the data from GA and then having to build the chart myself" as you have said yourself.
The process is very simple.
Grant us authorization to access your GA Data via the API.
Design your chart (all kinds of formatting are available).
Embed an <iframe> tag where the chart is to display.

What are the pros and cons of developing a SharePoint component versus a standalone app?

A client wants us to develop a Picture Library system for them. The requirements are pretty typical - need to add pictures, tag them with metadata, store different sized versions and so on.
The client is keen on it being developed as a component which plugs into their existing SharePoint system. However, my feeling is that we would be better served building a standalone app - that way we don't have to shoehorn it into a SharePoint page and muck about integrating with SharePoint's APIs.
I am trying to look at this objectively and would welcome any arguments either way that people have.
Using an existing framework like Sharepoint imposes a lot of constraints on the design which makes the software architecture more uniform.
It does require some work on the part of the developer, because the developer does have to understand the API architecture and API's, etc.
However, developing a standalone application is the way that business's software architecture becomes a mix of 200 applications, using 20 different languages/architectures/platforms, half of which were developed by people no longer there - in short, a mess.
Sharepoint is documented, and will be supported probably long after you leave the company. Can you guarantee support for the application that you develop for as long as Microsoft will support Sharepoint?
You should do a cost/benefit analysis of integrating with SharePoint. You have listed some cons for integrating with SharePoint. Here are some pros.
Widely adopted platform.
Existing functionality to store/retreive/update images to data store.
Existing functionality to tag images.
Existing functionality to group several images together and treat as one virtual document (if using SharePoint 2010).
Keep in mind that you can integrate any custom ASP.NET page/application in Sharepoint so you can approach development like a standalone app. Your client wishes might include synchronization with Sharepoint's own picture library functionality and in that case you'll have to work with it's API.
It seems with SharePoint you are already done because it can more or less do what you describe already. What requirements do you have that cannot be met by OOB SharePoint?
I've used picture libraries for something similar before. While they have their quirks you do get a lot 'for free' like a UI, bulk uploading, metadata and 2 alternate sizes rendered.. My biggest gripe is they don't support the datagrid view so I cannot edit list metadata en masse like you can with other list types.

Resources