Sharepoint and Database interaction, what should I do? - mysql

I've developped a MySQL database containing informations about different documents and products. Now I have to create a user interface which has to be integrated in a sharepoint. As I'm new to sharepoint, I am a bit lost and I don't know what I should choose (developping a Web Application on visual studio which will be hosted on Sharepoint, developping a WebPart...etc I have no idea of what to do).
So my question is : What's the best option to develop this user interface on Sharepoint ?
Thanks

You can go different ways:
Push data from your MySQL database to SharePoint list periodically or event-based.
In this case you already have UI interface of SharePoint list view. If out-of-box UI not enough then you can create your own using javascript or by creating your own web part or by creating SharePoint add-in.
You can do it many ways:
1.1. C# console app (create with Visual Studio). Console app will connect to your SQL database and create list items in SharePoint list. You can schedule this console in Windows Task Scheduler.
1.2. Another periodically running code that external to your database. May be PowerShell script, SharePoint timerjob, Windows service, SharePoint workflow or something else. This code will connect to database and push data to SharePoint list.
1.3. I don't know how you fill your database but in your logic you can add logic to also create SharePoint list item in list when you add record to database.
It is event-based logic.
Get all data from your database in SharePoint on page load each time.
Add some web part to SharePoint that get data from your database on page load (you can mix some parts below to get intented behavior):
2.1. Create your own Visual Web Part in Visual Studio. Deploy solution with web part to SharePoint. Add web part to any page in SharePoint.
This web part will get data from your database on page load.
2.2. You can create web service hosted anywhere (SharePoint, another place) that return data from your database.
Create javascript logic that call this web service to get data and render data.
Add this javascript logic in Content Editor or Script Editor web part in SharePoint. CE and SE web parts is out-of-box web parts, you don't need to develop this.
2.3. Create SharePoint add-in that will get data from web service.
2.4. etc ....
May be I can suggest other options if you specify more precise requirements to implementation.
Just say how you see it in your imagination and I can suggest ways how to implement it.
Describe how it must be from user experience. Like 'I see page where I have three green buttons, color highlighted rows, auto-calculated field and so on and so on. I click button and get following result... ". Describe your expected user experience.
About trends - javascript rules now. In SharePoint Online you cannot create server code solutions hosted in SharePoint.
Best solution to use javascript to not change many things on migration to different version of SharePoint.

Related

Dynamic Report creation

I hope someone here can help.
I have a requirement from my client who is an ISV. They want to develop a solution whereby they want to offer their customer an ability to create any reports from the customer specific database.
What I mean is, we publish the dataset on a portal the customer can then drag and drop the tables they needed, create the joins to create the required report.
Is it possible to do this in PowerBi or SQL Server Reporting service?
Many Thanks
Service Content Pack
It is possible in Power BI by developing an online service content pack. This allows online services to give their customers insight into their own data via the PowerBI.com cloud service. The ISV pre-builds the data model (and some initial charts); the end user doesn't have to worry about joins at all. They can drag & drop the fields that the ISV makes available.
There are some base requirements (it has to be a SaaS application that has an API accessible via the public internet).
More information: https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-content-pack-overview/
Embedding
If the ISV is building their own portal, they can embed SSRS reports on their own website (and use parameters that pass the customer ID from the website directly to each report). This looks like a good place to start: https://learn.microsoft.com/en-us/sql/reporting-services/application-integration/integrating-reporting-services-into-applications. One downside to this solution is that SSRS doesn't allow the end-user to change the reports themselves (no dragging or dropping fields).
You can also embed Power BI reports onto an externally facing website. More information here: https://powerbi.microsoft.com/en-us/power-bi-embedded/
There may be other solutions, such as tools that allow external access directly into SSAS, but I've limited the scope of my response to the two tools you've asked about (SSRS and Power BI).

Pushing MySQL inserts to SharePoint 2013 lists

Long version, what I've read and tried so far:
I'm trying to optimize a weekly task for some of our users. We have a CMS build using Angular that uses MySQL to store entries that are now reviewed within the CMS after which they write an evaluation in SharePoint 2013 (on prem SQL Server 2012 on one machine, SharePoint 2013 on another server all in the same domain).
The goal is to have the MySQL entries show up in a SharePoint list as soon as they are created. I'd be highly preferred if the arrival of a new MySQL entry could spark a 2013 WorkFlow (send email, update webparts, log changes to task-lists etc).
The CMS currently does have NuSoap installed to feed a mobile application, but SharePoint Designer has some issue with reading all the fields from the WSDL and I read that this is one of the preferred methods to obtain pushed data into workflows, but I could not get SharePoint to usa the call http web service with success. Adding the WSDL as data source did only include the index and did not display anything in a webpart.
An alternative option was using ODBC on the SQL Server to grab the data in a SQL view from the Linked Server and copy the new entries over when they arrive. I have managed to make a view that can be used as External Content Type in SharePoint Designer 2013 and than can successfully be displayed in SharePoint as an External List.
Given the nature of the submissions, the content cannot be altered in the MySQL database. But I do want users to be able to add notes and other fields in SharePoint.
I found in two (older) Sources (the one on Stack Overflow) that it is not possible to fire a WorkFlow when using External Content Types, since "SharePoint does not own the data", but SQL Server does, so you cannot attach a workflow or have a workflow be notified when an entry is added.
==
TL;DR version
How do you make a "copy" of MySQL data from a read only source into a SharePoint 2013 List?
Neither the business data connection tools (web services as data source) nor the External Content Type solutions seem to result into a solution with default SharePoint List with attached Workflows.
For this specific solution push or frequent updates are required.

Working with Sharepoint from MS Access

Afternoon,
My company makes use of Microsofts Sharepoint facility to organize documents and such; we also use Sharepoint to hold project specific resources used by multiple people.
Question
Is it possible to access Sharepoint from within MS Access? I don't mean open it, I mean actually writing to or reading from files that are stored on it? If it's possible is there a particular module I should read up on or am required to import into any projects? (Example code or related resource would be appreciated)
Potential Use Case
Employee A makes a change to a table in a database (adding a record) which may be required by Employee B in the future. Employee B should be-able to retrieve it directly from Sharepoint without having to open a browser, download the file and manually add the table.
Thanks for any information you can give me as I know this is an odd one...
SharePoint does have MS Access integration. You can setup access to use SharePoint lists as their datasource, allowing you to edit the data from Access or from the browser.
This link provides some video tutorials on how to publish an Access web database to SharePoint. Essentially you create and edit the database in Access and you publish to SharePoint. This works well for simple databases, but it doesn't work as well for more complex databases.

Is it possible to use MS access as a TFS client for Work Item tracking?

Specifically I would like to create for the stakeholders, a simplified view of the work items different from the very detailed one used by the developer in VS. Ideally some fields like iteration path would also have to update tfs.
For now, I use lists in excel but would like to display details in more user friendly fashion using forms.
Not out of the box. You have a few options for viewing / manipulating work items.
Visual Studio
Web (basically the same view as in VS but though a browser)
Excel
MS Project
If you want to produce a more user friendly UI than the view in Excel then I think you have 2 options.
Use VBA in Excel to create a "forms" interface, I haven't used VBA in years but I can't think of a reason why this wouldn't be fairly easy. The plus side to this approach is that you should be isolated from API changes to TFS when you migrate to newer versions. The downside is Excel.
Write a .net application and use the TFS API to pull the required data from TFS. This would be the most elegant way from an engineering point of view, but you wouid almost certainly have to retest and possibly update the app when migrating to a newer version of TFS.

Any tools availabe to display Microsoft Access reports on the web?

We're looking for an easy way to display Access reports on the web. These reports have been written and viewed internally for years. They are not simple tables, but more complex charts and graphs. But, now people outside the organization need to see them. All of the data is in access. And, except for reporting everything else is working fine.
We have a web server that has permissions to see the Access database. However, the Access database server cannot be the webserver itself. So, the question is how do we view these reports on the web? This excellent solution, which I reference in case it helps others, (https://web.archive.org/web/20211020135306/https://www.4guysfromrolla.com/webtech/042600-1.shtml) does not apply, as it requires you to be on a company intranet . (Although, it may be possible to implement the solution outside of an intranet, so many security holes would be opened up that the developer leading this project would surely be fired.) If possible, we also do not want a solution that expects every client to install code, for example, the access runtime.
Is there a tool that can read the
access reports when requested? OR
Is there a tool that can upload the
data from the Access database on a
periodic basis and based on the last
retrieved data - it can display the
report that was written in access?
Other solutions ...
Thanks!
print the reports to pdf and then copy the pdf files to the webserver
Options:
output to PDF.
output to Access snapshot format and force users to use the snapshot viewer.
wait for Access 2010 with Sharepoint 2010 and Access Services and you're home free (as long as you can rewrite your reports to be full web reports, i.e., not VBA and only using the capabilities of web reports in A2010).
We deliver an Access app (and reports therefore) over a Terminal Server as a WebApp.