Determine whether a list item is a parent or child task in a sharepoint task list and modify its appearance in a powerapp gallery as a result - sharepoint

I'm using PowerApps to build a project management reporting interface, and I'd like to indicate on the main list of tasks whether something is a main task with subtasks or a subtask. We are syncing a microsoft project file with a sharepoint task list, and the mobile interface provided by sharepoint is bad. I can't find a task item property that is accessible within a powerapps query that will indicate this
I've iterated through all of the task item properties that are apparently exposed to the list connector, and none of them seem to indicate when something is a subtask. isFolder always returns false, even on top level tasks, so it seems like that property isn't being used to track this.
I expect to be able to build a conditional so that when my gallery is populated I can indicate if something has subordinate subtasks, how many there are, and allow people to browse to them. No matter what I've tried so far the list appears to populate unsorted and without any distinction between master tasks and subtasks

Had a similar problem; the current connector to Project Online is very rudimentary. However, if you have access to Power BI you can use the ProjectData REST api to send an OData query to get everything you are looking for. Power BI is much better for reporting/browsing data, and if you need to edit the SharePoint list you can embed PowerApps within a Power BI report.
Have also looked at using PowerApps to edit MS Project tasks, but as you noticed the connector is not fully functional. I think this may be by design; even the REST APIs do not allow for setting baselines, you have to open the file in MS Project Pro to have full access.

Related

How can I create a consolidated list of Office 365 tasks (Exchange, Sharepoint, and Groups)

It appears that office 365 has had the My Tasks page removed from the News Feed (previously at https://CompanyName-my.sharepoint.com/personal/UserName_CompanyName_onmicrosoft_com/AllTasks.aspx) As a result there is no place to get a consolidated view of tasks. As of July, 2016 there are three types of Office 365 tasks:
Exchange / Outlook tasks. These are accessible via the interface using the Tasks tile that takes you to https://outlook.office365.com/owa/?realm=contoso.com&exsvurl=1&ll-cc=1033&modurl=3
Groups tasks that are reachable via the Planner tile at the URL https://tasks.office.com/?auth_pvr=OrgId&auth_upn=user#contoso.com&mkt=en-US. You can view them grouped by Project (Group) or consolidated.
Sharepoint tasks that are reachable by going to an individual sharepoint site, finding the task list, and looking for tasks assigned to you. I understand that there is a way to "Connect with Outlook" but that does not show online, it seems to only show in desktop Outlook. The tasks are also undiscoverable in Delve.
I am attempting to find a way to create a consolidated view of all three types of tasks. The first two types are discoverable in the various Microsoft Graph and Office APIs:
Exchange / Outlook tasks can be queried via https://msdn.microsoft.com/office/office365/api/task-rest-operations#GetTasks.
Groups / Planner tasks are available via https://graph.microsoft.com/beta/me/tasks.
Unfortunately, I cannot find an API that seems to make Sharepoint tasks available. There do seem to be some desktop DLLs available, but I'm not sure if they work with SharePoint online (maybe only on-premises?).
So, does anyone know of any way to get Sharepoint tasks assigned to a given user out of Office 365? Alternatively, is there a third-party application that can do this already?
Use the SharePoint Search REST API with
ContentClass="STS_ListItem_Tasks"
in the query.

Archiving existing task list in Sharepoint 2010 without using Sharepoint Designer

I have an internal team SharePoint site where the team posts tasks in a task list. Once the task is completed, it is marked COMPLETED. I want to create a workflow so that when I change the status of a task to COMPLETED, the task is removed from the list of team tasks and moved to a new folder/list where all the completed tasks are going to be tracked.
Now, I know I can do this easily using SharePoint Designer by creating a workflow for the team tasks and then applying an equal condition on the status. However, our organization currently doesn't have the ability to use SharePoint designer and the feature is disabled.
How do I achieve the same functionality just by using the on-site features and settings. Any suggestions? I was able to add workflow but I can seem to find the equal condition.
The most straightforward way to solve the problem of separating completed and uncompleted tasks is simply to use views based on the task status.
If you MUST move the item to a different location, you can research if Records Management features get you part way, but chances are you'll need to use a tool or write code.

Create Dynamic TFS Query in SharePoint Portal

We have recently moved our project over to TFS 2010 for CM control and issue tracking. For the most part we have been happy with the move. However, we have found that we need a way to allow users (notably our help desk) to write dynamic queries against our Product Backlog. The Query Results Web Part works fine for displaying information like Outstanding Work Items and Recent Issues, but our users need the ability to query for specific information that can change from support call to support call. Is there a way to allow a user to create a custom, dynamic query in TFS? If not are there any 3rd party tools that integrate with SharePoint that would allow this?
Thanks.
TFS 2010 has a web based user interface called Web Access. Users can create and view their own queries from there with the queries part of te app; they can also search for work items by words contained in their titles
By default, there is typically a link on the upper-left to it from the SharePoint site that TFS 2010 creates. If the link is not there you can access it directly its (default) URL: [http://address-of-your-TFS-server:8080/tfs/web]
I decided to use the Page Viewer Web Part to embed the actual query form from the Team Web Access to the Project Portal. Everything seems to work great when doing that. The only downside is you get a 'Nag Dialog' whenever you leave the page.

comparing sharepoint list and sqlserver table

I have a list in sharepoint which maintains particular month OnCall list,and we are maintaining employee directory in sql server. My requirement is to get complete data from sql server and show it in sharepoint and compare with sharepoint list and show small icon for the employees who are On Call for that particular Month. Can anyone please suggest me the waus of implementing this.
Thanks in advance.
Update: I have finished the part where I have to connect to the sqlserver database and get the employees information. For this we are using 3rd party web part to connect to the sql server and pull the data from the table. Now I have to show some kind of image on the employee name to show that he is on-call for that week. We are going to cretae custom list for maintaing the list of people who are on-Call. Can anyone please advise me on how to accomplish this.
Write a custom webpart which will pull the data from the list using sharepoint object model and SQL server using ADO.NET and do the said comparison.
If you were looking for out of the box, I am afraid there i too little information given here to analyze if its feasible out of the box or not.
If you have the SharePoint Enterprise version, you can look at using the Business Data Catalog. This will let you bind columns to external data sources. This might provide you with the functionality you're looking for.
If you do not have the Enterprise features, do you have access to deploy WSP packages and custom code?
You will have to write your own data access to your external data source. Your options would be to have a job that pulls data from the external data source and populates SharePoint list(s) or create a custom view that pulls the external data on-demand.
You'll have to come up with synchronization strategies. Meaning, is the data in the external SQL data source static, reference information that does not need to be updated depending on what a user does in SharePoint? This seems to be the case based on your question. If you do need to update the external data source, you'll have to hook into the on save event (so probably a custom event handler that listens for ItemAdding) to update the data, validate, and optionally cancel the operation with an error message.
If you can't deploy WSP packages / DLLs, you could take a look at the jQuery SharePoint library. This will let you interact with lists using jQuery. If you also write a WCF or Web Service wrapper around the data you need access to from your external data source that is accessible from the SharePoint environment, you can use hack together a solution.
To accomplish this you'd need to place a Content Editor Web Part on the page you need custom data access. In there you will write the code to reference the jQuery javascript library and jQuery SharePoint library. The code will have to make the calls to your external data service and make any updates you need.
This is the least reliable method to accomplish what you want since it's entirely page-based and can be broken by simply disabling script or someone editing the CEWP or removing it altogether.
If you don't have access to place a CEWP or any of the other solutions, then you have no options at all.
it relatively easy now to pull all the data using the third party webpart and saving it into a custom list. I would recommend you not only creating custom list but also creating the content types for this list. take a look at SharPoint MVP's post about creating a Custom List with Content Types

Easiest way to extract SharePoint list data to a separate SQL Server table?

Edited:
What is the easiest way to scrape extract SharePoint list data to a separate SQL Server table? One condition: you're in a work environment where you don't control the SQL Server behind the SharePoint Server, so you can't just pull from the UserData table.
Is there there any utilities that you can use to schedule a nightly extract?
Is Microsoft planning any improvement here for "SharePoint 4"?
Update Jan 06, 2009:
http://connectionstrings.com/sharepoint
For servers where office is not installed you will need:
this download
There is a SSIS SharePoint task you can use to grab the data info a regular dataflow:
http://www.codeplex.com/SQLSrvIntegrationSrv
Scraping? As in screen scraping? Are you serious? ;)
2 Options
SharePoint Object Model - http://msdn.microsoft.com/en-us/library/ms441339.aspx
SharePoint Web Services - http://msdn.microsoft.com/en-us/library/ms479390.aspx
specifically the Lists web service
The web services is how Excel/Access communicate with SharePoint to integrate with its lists.
In fact a bit of Google foo gives these two results :-
Connecting SQL Reporting Services to a SharePoint List
Accessing SharePoint List Items with SQL Server 2005 Reporting Services
The 2 minute answer is to use Data Synchronisation Studio from Simego ( http://www.simego.com ) just point it at your List and database and it will sync all the changes.
There is an ADO.NET adapter for MOSS 2007/2010 and WSS 3.0/4.0 available which goes under the name Camelot .NET Connector for Microsoft SharePoint. It enables you to query lists in SharePoint through standard SQL language, using SharePoint as a data layer.
Besides from the connector, there will be a large number of open source tools and utilities available, such as webparts for exporting data to various formats (XML, MySQL, ..), Joomla plugins, synchronization services, etc.
See http://www.bendsoft.com for more details and to watch webcasts. BendSoft is currently looking for beta-testers and encourage all feedback from the community.
Example:
SELECT * FROM My Custom SharePoint List
INSERT INTO Calendar (EventDate,EndDate,Title,Location) VALUES ('2010-11-04 08:00:00','2010-11-04 10:00:00','Morning meeting with Leia','Starbucks')
DELETE FROM Corp Images WHERE Image Name = 'marketing.jpg'
I had written a full article about this with step by step screenshot procedures. It does not use any third party components only SQL BI Tools and Sharepoint. Have a look here
http://macaalay.com/2013/11/01/how-to-archive-sharepoint-list-items-to-sql-server/
As Ryan said I would also suggest using object model / web services to store data to separate SQL database. I think that the best approach is to write an event handler that will trigger on your least and copy the data user inserted/updated.
Regarding your query about "SharePoint 4", Bill Gates made some remarks at SharePoint Conference 2008. He suggests enriching SQL tables with SharePoint data, and goes on to mention several other potentially cool things. What exactly he means and whether it will help solve your problem in the future is hard to say until we start seeing betas of WSS4 / MOSS 14.
I would go with the simego software, but i dont have the money, maybe a 15 days trial is enough!
If you have MOSS installed, the Business Data Catalog can be setup from the Sharepoint Central Administration to automagically synchronize data for you. This is a very powerful product and is included with MOSS. I love it when a client has it enabled so I can take advantage of it.
But some don't and for myself, I've found that if they don't have BDC running and available, inevitably they don't give developers many rights to SQL Server so SSIS is generally out of the question (but maybe that's just me). No problem; for those I'll pull together a lightweight EXE that runs on a scheduled task that queries Lists.asmx and pushes changes to a SQL Server table. Fairly trivial stuff for a simple list where nothing is deleted. Get yourself Visual Studio 2008, CAML Builder, and prepare for a good time. The Lists.asmx results is a little funny in that a list's row's fields are each a single node with a lot of attributes, with no child nodes ... something like this off the top of my head ... just remember that when coding ...
<z:row ows_Id="1" ows_Field1="A1" ows_Field2="B1"/>
<z:row ows_Id="1" ows_Field1="A2" ows_Field2="B2"/>
Complications in code occur with copying lists where items are deleted, or where there is a parent/child relationship between SP lists. You'd think I'd have some code to send you, but I haven't bothered putting together something I could reuse.
I'm sure there's other ways of handling it, but the scheduled task EXE so far has been reliable for me for multiple apps for multiple years.
i wrote some code to achieve it, you can find it over here
extract data from moss 2007
Depending on the exact nature of the data you need to insert, it may be possible to just use the auto generated RSS feed to get the information you want, a process will need to read the rss and formulate a query.
Otherwise a consoleapp/service could use the object model to do the same thing, but with more control over field information.
I wish something like this was much easier to do. Something that didn't need SSIS and was boiled down to a console tool that reads a xml config file for source/target/map info.
http://blogs.officezealot.com/mtblog/archive/2008/06/03/importing-list-data-into-sql.aspx

Resources