Control SharePoint to MS Project column mappings when synced from external Project file - sharepoint-2013

I'm syncing an external Project file to a SharePoint list. This list was created by a third-party. When I sync the file, there are a set of column mappings that appear inside the Project file. Some of these columns are custom columns created by the third-party (so I'm not talking about just standard SharePoint columns).
Does anyone know how this is done? I've looked at the site column definitions and I don't see anything special that would indicate Project column mappings. I would like to add additional columns and have them appear automatically in the Project file as well (the Project file is generated by Team Foundation Server), and would like to mimic what they have done for forward-compatibility purposes.
I've put out a question to the vendor, but thought I would post a question here in hopes of getting a faster response (assuming they are using something out-of-the-box and that they didn't hack this solution together).

I figured it out.
You can get the field mapping using the following code (where list is the SPList that represents your task list):
list.RootFolder.Properties["WSSSyncFieldMap"];
If a project file has been synced with the list previously, then the above will return an XML fragment (not a full document) that describes the field mappings. If no such sync has been done, then the property will not exist!
If you open Project and view the mappings, you will see some are not allowed to be changed. These mappings are always assumed by SharePoint and they will not appear in the XML fragment.

Related

Missing SiteColumn in Document Library

I have a Content Type with a number of Site Columns inside it.
I added this content type to a Document Library, however, one of the site columns is not appearing.
I'm using SharePoint on premise - the site columns and content type should have been properly created as it even works fine for some other document libraries.. I only have the problem, with exactly the same content types, in some document libraries... Can it be fixed without having to re-create document library?
I have tried removing and re-adding the column but nothing seems to work. Any ideas?
I solved this by removing the site column from the content type, deleting the site column, re-creating the site column and readding it to the content type. This solved the issue of the missing field in the list settings of the document library for me. The only issue with this is that the internal name now changed to whatever it was and a 0 in the end, so i will have to update all code and workflow references accordingly.

Sitecore field for selecting multiple files from media library with the ability to upload files

I'm looking for something that allow content editors to select multiple files from the media library, which will be listed in a rendering. They also need to be able upload files and to search. It has to work in the Page Editor (named Experience Editor in version 8).
What I have have considered so far:
A bunch of File fields - but I don't know how many files the editor need to select at most, and having something like 20 similar fields seems bad.
Using a field that supports multiple items like a Treelist with the datasource set to the Media Library allows the user to select files in an acceptable way but not uploading. I tested adding one File field just for the upload function, but was not really satisfied.
Notes:
Currently using Sitecore 7.5 but moving to 8 in a few days, so a solution working in Sitecore 8 is preferred.
I have asked the Sitecore support too and will update here if I get useful answers.
And the winner is.... the answer from Sitecore support:
In the Email Experience Manager module there is a field called "File List".
The image shows the dialog in Sitecore 8 and the field itself (below). It has search, supports multiple files and upload. It stores the value as pipe-separated GUIDs (just as similar fields like Treelist).
The Field Types Module on Sitecore Marketplace includes "Visual List" and "Carousel" custom field types which may provide what you need. I have used this in the past and found it to work well, though I'm not sure if it's compatible with Sitecore 8. As I remember, I don't think they provided the option for uploading new media from the field.
An alternative solution is to use a placeholder and a file component with a DataSource.
Give the component a standard File Field. So upload is possible.
But for every new file the editor must add a new component to the placeholder with the page editor. This is with a lot of files more work for the editor. But a standard solution. (and the ability to personalize the files with the rules engine)

Search tags/facets in Sitecore Item Buckets

I'm looking to use the Sitecore Item Buckets package from Shared Source since I needed faceted search functionality and it makes sense to use the built in functionality rather than writing by own Lucene.Net search.
Sitecore Item Buckets
I'm having trouble with the search, or maybe I am reading the documentation wrong.
According to the documentation in section 2.2.3 & 3.1.3 I just need to mark a field as "Is Facet" and my filter will show in the search results.
I've also defined a tag field on the template and changed the Tag Parent field in "/sitecore/system/Modules/Item Buckets/Item Buckets Settings" to point to correct folder. This is working correctly, I can apply a set of tags to an item and search from the Bucket UI using "tag:CSharp" and it brings back the correct results, but again there is no filter shown in the list. I've rebuilt the bucket indexes in all cases.
Am I missing something? Should these show up in the list automatically, do I need to change some settings or provide my own implementation?
Screenshot
This is all within the Buckets Client UI, I haven't started writing any code yet, and on a clean install of Sitecore 6.5 (update-5/rev. 120706).
I'm not sure the documentation wording around this is entirely clear at the points I've mentioned. If you read further down the document though, section 4.3:
Item Buckets ships with 5 different types of faceting.
Templates
Fields
Dates
Locations
Authors
If you would like to introduce your own faceting categories then you only need to implement the IFacet interface.
There is an example of IFacet implementation in the documentation, or use dotPeek to look at the implementations of the existing Facets.
You also need to add an item to Sitecore: /sitecore/system/Modules/Item Buckets/Facets

Sitecore 6 WFFM: How to customize reports?

I have a few fields that I don't want to appear in the report. Is there a way to hide them completely (not even show the column header for these fields)?
I tried to create my own ISaveAction with the intent to filter out those fields before they get saved to the DB, but even if they don't appear in the AdaptedResultList that is sent to the DataManager.InsertForm the columns associated to these fields still appear in the reports.
Out of the box functionality, the answer is that if you mean one of the reports in the Form Reports area of WFFM, you most likely can, depending on the report. If you mean one of the reports that you can see a "Design" button on top when you view it, then you know that it's using the report that is configured in one of the .mrt files in your website directory in this path:
Website\sitecore modules\Shell\Web Forms for Marketers\Reports
Editing one of the reports by hitting the Design button will open up the Stimulsoft designer that is built in to Sitecore and you can make changes. You can also download one of the trial clients from the Stimulsoft website and open the .mrt files directly and edit them that way (the interface is WAY nicer than the built in Sitecore one).
A word of caution, however, BACK UP THE FILE FIRST!!! The Stimulsoft interface is picky and easy to break and it's got a learning curve. Once you figure out the basics though, removing a field is cake.

Extend ELMAH to include another viewer hitting a different table

I've been doing a little tweaking of the SQL-side of ELMAH to provide basic logging capabilities to my MVC app.
I changed ELMAH_LogError to test the TYPE field for text sent by my App and, if found, inserts to a different table that i'd created by 'Script As'
It was reasonably easy to simply create a new table because I didn't try to rename any fields. The structure is identical to the original. Any chance this same principle (same structure/different table name) could be (easily) extended to providing a new 'Logger.axd' that would provide viewing of my newly created table?
thx