Code Monkey home page Code Monkey logo

microsoft / mattercenter Goto Github PK

View Code? Open in Web Editor NEW
197.0 94.0 148.0 65.76 MB

Microsoft’s Corporate, External, and Legal Affairs (CELA) group, in partnership with the Office extensibility team, developed Matter Center for Office 365 -- a document management and collaboration solution built using the Office app development model, Azure and Sharepoint.

Home Page: https://www.microsoft.com/en-us/legal/productivity/mattercenter.aspx

PowerShell 3.05% HTML 10.64% JavaScript 32.13% CSS 5.24% C# 47.47% Smalltalk 1.04% PostScript 0.04% Batchfile 0.02% Gherkin 0.28% ASP.NET 0.08%

mattercenter's Introduction

Matter Center for Office 365

Microsoft’s Corporate, External, and Legal Affairs (CELA) group, in partnership with the Office extensibility team, developed Matter Center for Office 365 -- a document management and collaboration solution built using the Office app development model, Azure and SharePoint.

Learn more about Matter Center for Office 365.

Intro

Microsoft’s Corporate, External, and Legal Affairs (CELA) group, in partnership with the Office extensibility team, developed Matter Center for Office 365 -- a document management and collaboration solution built using the Office app development model, Azure and SharePoint. It takes advantage of the enterprise content management capabilities of the SharePoint platform, and offers many additional benefits through Add-ins in Outlook and Office (e.g., Word, PowerPoint). This allows the solution to quickly create, find, and store documents on predefined projects or matter sites. Matter Center takes advantage of the enterprise-grade cloud platform of Office 365 and Azure, so these productivity gains are realized while also reducing risk and cost.

Roadmap

Where is Matter Center going in the future?

Administration

  • Automate new client creation (new site collection)
  • Matter templates (e.g. area of law, matter type)
  • Develop matter lifecycle workflow, matter status and health indicators
  • Modify project name & description; delete matter
  • Further automate external sharing workflow

Extensibility & Interoperability

  • API event handlers
  • Improve OneDrive for Business integration
  • Integration with O365 Groups

User Experience

  • Create matter from the web
  • Create a matter contact list
  • Work on behalf of someone
  • Real-time communication (email notifications); includes email links from top pages (e.g. Project Landing Page)
  • Allow Drag and Drop of multiple emails and/or documents into Matter Center
  • Provide client search when creating new matter

Installation and build

Please note the following software must be installed before you can open and deploy the Matter Center solution:

Please find links to our additional resources:

  1. Matter Center Web Application Architecture
  2. Matter Center Web API
  3. Matter Center Build and Deployment Guide (+ prerequisites)

Questions, Issues and Feedback

Having trouble with Matter Center? Check-out Issues and if you don't see your issue, please open an issue in GitHub.

Have feedback? Notice a bug? Submit through the Matter Center page on UserVoice.

Contribution

This project was originated by the Microsoft Matter Center Engineering team. We wanted to build a solution to help our own legal professionals improve their productivity. Based on our conversations with many people in the industry, we decided to open source the project so others can use and enhance this solution.

We look forward to maturing the project with your help.

Priorities

We have been working on this code for some time and know its many limitations. We created an initial list of priorities that include architectural changes we’d love your help with. Together, we are excited to see these priorities realized and to continue adding to this list.

On December 17, 2015, we open sourced the project. We are thrilled to talk with as many contributors as possible to provide information and context:

  • For bug fixes, we suggest simply creating an issue through GitHub and/or UserVoice in order to alert people and chat about the design of the fix.

  • Please try to make your pull request(s) as small as possible and be sure to keep your change close to master to avoid merge conflicts.

For features, substantial code contributions, or interface changes, we would appreciate if you look first at the list of priorities and announce your intention to work on a specific subject via the mailing list. This will allow for broader visibility, and maybe help find other people who already are working on that particular subject.

We would prefer initial work to be based on the priority list. Of course, if the priority list does not contain a specific subject you think is important, please help us identify new subjects and see how they fit in with the other priorities. There is some architectural work and refactoring that needs to happen first (as described in the priorities list) that will enable other work. Therefore, please discuss your suggestions on the mailing list to ensure it is an appropriate addition at this time. The committers will prioritize the list.

We encourage that you fork the repo if you’re planning to do substantial work. This lets you move forward at the pace you want and, when it comes time to submit a pull request, we’ll be able to refer to the fully working set of end to end code.

Additional focus areas

In addition to the priorities list, we bring Matter Center to GitHub with a wealth of existing feedback. Conversations with various communities has provided for a catalog of focus areas for us to consider as we move forward.

We have already pushed these ideas to UserVoice as well as to the Issues list. We encourage you to look to these two places.

Committers

There are currently the following committers:

  1. TBD

Additional committers will be added later based on interest and deep technical involvement with the project.

Pull Request Checklist

Pull Requests need to adhere to the checklist below. The committers may ask you to make changes before accepting your changes

  • Coding guidelines

    Please follow the project [coding guidelines](tree/master/cloud/docs/Matter Center Coding guidelines.docx).

  • Third party libraries

External libraries for the project are located in folders: "\Main\Microsoft.Legal.MatterCenter\packages" - this folder contains main third party libraries used in this project. Some libraries are licensed in a way that prevents us from shipping them. Your pull request may be declined should that happen. If your contribution changes require adding or modifying a new third party library, please contact the mailing list first and get approval from the committers.

  • Security and privacy review requirements

We believe security and privacy are extremely important. Therefore, please place a lot of attention on this area. We will be asking members of the Microsoft IT security team to review the code to provide feedback on common security and privacy issues.

  • Licensing requirements

The code you submit should be licensed under the MIT license as is already done in the rest of the repo. If you use code that you did not author (like from Stack Overflow), you need to ensure correct attributions and license statements are made for those code blocks. Please work with the committers or the mailing list if you have any questions.

  • Description of the changes

Please include detailed descriptions of the changes:

  • Purpose of the change(s)
  • Description of functionality that was changed; and
  • Bugs and/or issues detail, if the pull request fixes it.

We’re looking forward to amazing contributions!

License

Matter Center for Office 365 is licensed under the MIT Open Source license.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

mattercenter's People

Contributors

adrianff avatar aisdug avatar ajmeradivyesh avatar akashvirani avatar amitabhm21 avatar hammyhavoc avatar johnnycardy avatar kant avatar keyurtechy avatar kiran11990 avatar leoconniff avatar majovero avatar microsoft-github-policy-service[bot] avatar msftgits avatar nikunj6672 avatar premchandpl avatar sunnymistry avatar swapnilm92 avatar synops1s avatar tstojecki avatar venkatesh127 avatar wilsonreddy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mattercenter's Issues

Issue deploy.ps1 - Step 1a

Message: Unexpected response from the server. The content type of the response is "text/html; charset=UTF-8". The status code is "OK".
Stacktrace: at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at Microsoft.Legal.MatterCenter.Common.ConfigureSharePointContext.ConfigureClientContext(String Url, String login, String password, Boolean isDeployedOnAzure)
at Microsoft.Legal.MatterCenter.CreateGroups.Program.deleteGroups(Dictionary2 listval, List1 groupData) occurred at 07/01/2016 11:30:28

Not particularly descriptive as the status code is OK - attempting behind a firewall but all other checks are successful.

JavaScript errors oGlobalConstants and oMatterProvisionConstants not defined

The page /pages/MatterProvision.aspx throws Uncaught reference errors in common.js, FilterPanel.js, and MatterProvision.js.
Apparently, these objects reference the values in App_GlobalResources/Constants.resx and App_LocalResources/MatterProvision.resx but these variables are never getting initialized.
It is possible to make these errors go away by adding code that parallels the .resx files such as
var oGlobalConstants = {
Add_To_Mail_Cart: "/AddToMailCart",
Admin_Support_URL: "#",
All_Documents_Message: "Manage documents: view, edit, or pin a document",
All_Documents_Title: "All documents",
...etc...
};
But this is the hard way around it. Somewhere there's probably a single line of code that isn't getting fired.

content types

has anyone had an issue when publishing the content types to a site where the managed metadata does not move over to the site columns?

Issue in Step 6

Updating Log.resx file
Message: Unable to cast object of type 'System.Xml.Linq.XComment' to type 'System.Xml.Linq.XElement'.
Stacktrace: at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateResourceConstants(Dictionary2 updateL ist, String constantElement, String constantAttribute, List1 manifestFile)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateConstants(Dictionary2 updateList, String folderNa me) Message: Failed to update app schema files Failed to update resource files Updating Constants.resx file Message: Unable to cast object of type 'System.Xml.Linq.XComment' to type 'System.Xml.Linq.XElement'. Stacktrace: at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateResourceConstants(Dictionary2 updateL
ist, String constantElement, String constantAttribute, List1 manifestFile) at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateConstants(Dictionary2 updateList, String folderNa
me)
Message: Failed to update app schema files
Failed to update resource files
Updated Web.config
2/1/2016 7:13:26 AM - Updating resource and config files in solution failed

Step 10 - Azure credentials for Azure Resource Management

Hello,

I'm getting the following error in Login-AzureRmAccount, is there a workaround for this? The script continues after throwing this exception.
Is this really an error, or can it be ignored?

2/8/2016 1:34:46 PM - Step 10: Publishing files to Azure/IIS
2/8/2016 1:34:46 PM - Please enter your Azure credentials for Azure Resource Management
Login-AzureRmAccount : The term 'Login-AzureRmAccount' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
At C:\Customers\mattercenter\mattercenter-master\deployments\Scripts\PublishOnAzure.ps1:143 char:4

  • if(Login-AzureRmAccount)
  • CategoryInfo : ObjectNotFound: (Login-AzureRmAccount:String) [], CommandNotFoundException
  • FullyQualifiedErrorId : CommandNotFoundException

2/8/2016 1:34:46 PM - Please enter your Azure credentials for Azure service management
2/8/2016 1:35:29 PM - Publishing web service on Azure
2/8/2016 1:35:39 PM - Publishing web site on Azure
2/8/2016 1:35:49 PM - Updating App settings for website
2/8/2016 1:36:04 PM - Updating App settings for web service

'Default-Web-WestUS'

During Step 10 I'm getting an error about a resource group. 'Default-Web-WestUS' my Azure site has a group 'Default-Web-NorthEurope' There doesn't seem to be a setting for this.

18/12/2015 14:36:15 - Step 10: Publishing files to Azure/IIS
18/12/2015 14:36:15 - Please enter your Azure credentials for Azure Resource Management
18/12/2015 14:37:09 - Creating Redis cache
18/12/2015 14:37:10 - Matter Center Redis cache doesn't exist, creating redis cache for Matter Center
Resource group 'Default-Web-WestUS' could not be found.
18/12/2015 14:37:11 - Please enter your Azure credentials for Azure service management

18/12/2015 14:37:11 - Please enter your Azure credentials for Azure service management
18/12/2015 14:47:33 - Publishing web service on Azure
Publish-AzureWebsiteProject : The website bluesourcematters.azurewebsites.net was not found. Please specify a valid website name.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\PublishOnAzure.ps1:45 char:2

  • Publish-AzureWebsiteProject -Name $ExcelValues[1] -Package $Servi ...
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : CloseError: (:) [Publish-AzureWebsiteProject], CloudException
    • FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.PublishAzureWebsiteProject

18/12/2015 14:47:35 - Publishing web site on Azure
Publish-AzureWebsiteProject : The website bluesourcematters.azurewebsites.net was not found. Please specify a valid website name.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\PublishOnAzure.ps1:47 char:2

  • Publish-AzureWebsiteProject -Name $ExcelValues[0] -Package $Websi ...
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : CloseError: (:) [Publish-AzureWebsiteProject], CloudException
    • FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.PublishAzureWebsiteProject

18/12/2015 14:47:38 - Updating App settings for website
Cannot index into a null array.
False
18/12/2015 14:47:41 - Publishing files to Azure or creating Azure Redis cache failed
18/12/2015 14:47:41 -
18/12/2015 14:47:41 - Reverting till step 9
18/12/2015 14:47:41 - Clearing all the previous logs...
18/12/2015 14:47:41 - All previous logs cleared

Provisioning needs to support external provisioning engines

When a new matter request is submitted to MatterProvision.svc, ProvisionHelperFunctions.CreateMatterUtility is called which creates the matter library, OneNote library, calendar, task list, then breaks permissions (optionally copying permissions), and returns the new URL.

This is a subset of operations performed by a provisioning engine.

I propose initially to separate out the included list creation code so that it sits behind a 'provision' interface.

Then we can move on to implementing the interface for other provisioning engines.

Possibly future tasks:

  • allow configuration of a list template location to be used for provisioning (so that folders, documents etc are easily customisable within SP)
  • make the provisioning asynchronous so that MatterProvision.svc.cs returns quickly without waiting for provisioning to complete (with associated UI changes to indicate that provisioning is in progress)

Helper Utilities source is missing

The source of the helper Utilities is missing.

I can find the .exe files for this but not the source in mattercenter / tree / master / cloud / src / deployments / Scripts / Helper Utilities /

Error in step 8 is ignored

After the following error the installer simply continues:

18/12/2015 14:36:11 - Step 8: Update App files for SharePoint and OneDrive Ribbon Apps
18/12/2015 14:36:12 - Getting parent Content Type ID
18/12/2015 14:36:15 - Parent Content Type ID retrieved
The variable cannot be validated because the value is not a valid value for the parentContentTypeId variable.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\UpdateAppPackage.ps1:148 char:9

  •     $parentContentTypeId = ""
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : MetadataError: (:) [], ValidationMetadataException
    • FullyQualifiedErrorId : ValidateSetFailure

The variable cannot be validated because the value is not a valid value for the parentContentTypeId variable.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\UpdateAppPackage.ps1:148 char:9

  •     $parentContentTypeId = ""
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : MetadataError: (:) [], ValidationMetadataException
    • FullyQualifiedErrorId : ValidateSetFailure

Error during deploy.ps1 script

Running the deploy.ps1 script I get this error. can't find the cause is it in the XLSX file?

Reading parameters from Excel file...
Exception calling "LoadFile" with "1" argument(s): "An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information."
Method invocation failed because [System.Boolean] does not contain a method named 'Split'.
At F:\vs2015\projects\mattercenter-master\tree\master\cloud\src\deployments\scripts\PreRequisitesScript.ps1:178 char:5

  • $ExcelValues = $ExcelValues.Split(";")
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [], RuntimeException
    • FullyQualifiedErrorId : MethodNotFound

You cannot call a method on a null-valued expression.
At F:\vs2015\projects\mattercenter-master\tree\master\cloud\src\deployments\scripts\PreRequisitesScript.ps1:185 char:9

  • if ("false" -eq $ExcelValues[1].ToLowerInvariant()) {
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [], RuntimeException
    • FullyQualifiedErrorId : InvokeMethodOnNull

WebSite/Service Must be Located in West US due to Hard-Coded Value in PublishOnAzure.ps1

Hard-coded values for Location/Affinity Group and Resource Group will cause a deployment failure if WebSite and Service are not located in "West US" and "Default-Web-WestUS"
It would be helpful if the Build and Deployment Guide noted this requirement or (even better) if the scripts were able to discover the correct Location and Resource Group for the sites.

Non US O365 Tenants and the Briefcase

In the Briefcase Service, the code assumes the Library Title and URL are the same for the Personal Documents.
My dutch tenant, my Document Library in my OneDrive is called Documenten and the URL is Documents.

There are 2 places in the BriefCaseHelper methods, where this needs to be changed.

$AppInstance.Status is stuck on Initialized

in AppInstall.ps1 my AppInstance is stuck on Initialized rather than Installing. Therefore the script is not waiting for the app to be installed in this part of the script:

while($AppInstance.Status -eq "Installing")
{
Show-Message -Message "." -Type ([MessageType]::Success) -Newline $false
Start-Sleep -s 10
$context.Load($AppInstance)
$context.ExecuteQuery()
}

                 if($AppInstance.Status -eq "Installed") {
                     Show-Message -Message ([String]::Concat($AppInstance.Title, " has been successfully loaded and installed")) -Type ([MessageType]::Success)
                 }
                 else {                        
                    Write-Log $ErrorLogFile "Failed to install apps to SharePoint."
                 }

[DBG]: PS C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\Helper Utilities>> $AppInstance

AppPrincipalId : i:0i.t|ms.sp.ext|19e59e66-4640-471c-9e60-efd7dc4f9e88@ac15dc91-a1c5-4c0a-8c88-a194b32af5aa
AppWebFullUrl :
Id : 3160aa38-1144-4e21-b708-4d8cfabcc079
ImageFallbackUrl :
ImageUrl :
InError : False
StartPage :
PackageFingerprint : {209, 253, 19, 21...}
ProductId : ac9e3be9-85e5-4078-94c3-efea9675ba32
RemoteAppUrl :
SettingsPageUrl :
SiteId : 0103b090-8bc6-490e-9b47-d8b56a3d89e6
Status : Initialized
Title : Matter Center
WebId : a71dee1c-0987-4025-aba4-ddb8bf9d076c
Context : Microsoft.SharePoint.Client.ClientContext
Tag :
Path : Microsoft.SharePoint.Client.ObjectPathIdentity
ObjectVersion :
ServerObjectIsNull : False
TypedObject : Microsoft.SharePoint.Client.AppInstance

General improvements

While I've tried to install the matter center and while I've been debugging the PowerShell scripts I've got the feeling that the installation part of the solution could be improved quite a lot. I've not been able to get the actual solution up and running yet so I can't comment on that.

  1. Settings are all over the place and repeated. A single configuration file would be helpful. Simple xml rather than an excel would be great. Updating code from GitHub is now a difficult task as settings need to be updated. Also if I contribute to the solution I will first have to take my settings out etc.
  2. The creation of the sites should use the PnP provisioning engine.
  3. There are a lot of PowerShell scripts (.ps1 files). The solution would become a lot better to manage if Modules were used.

Build and Deployment Guide has no Step 7

On Page 19: 5. Create a folder called SharePoint App and copy the file created in Step 7 to the newly created folder

There is no Step 7 anywhere in the document.

Matter Center App not functioning

So I got the deployment to go through successfully but I'm having trouble actually using the App. The App takes me here but the links do not work:

capture

Issuue deploy.ps1 - Step 6

29/12/2015 16:23:10 - Step 6: Update resource and config files in build
Updating resource files
Updating Constants.resx file
Message: StartIndex cannot be less than zero.
Parameter name: startIndex
Stacktrace: at System.String.Substring(Int32 startIndex, Int32 length)
at System.String.Substring(Int32 startIndex)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateResourceConstants(Dictionary2 updateList, String constantElement, String constantAttribute, List1
manifestFile)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateConstants(Dictionary`2 updateList, String folderName)
Message: Failed to update app schema files
Failed to update resource files
Updating Constants.resx file
Successfully updated Constants.resx file
Updating Constants.resx file
Successfully updated Constants.resx file
Updating Log.resx file
Successfully updated Log.resx file
Successfully updated resource files

I had this error before, but thanks to somebody else here I figured out it had something to do with 'images' in the path.

Any idea, how I get to know wich property is wrong, or how to fix this?

Thanks in advance.

Error 900000x1 - during matter creation

Issue arises when documenttemplate does not have an associated content type or has a blank. After working with the team, LCA's Sunny and Leo provided great feedback. We are now deploying to 2 production environments!!

Briefcase functionality issue

Hi there,

I noticed that the briefcase functionality is somewhat diminished compared to all the demonstrations. The new OneDrive UI removes the ECB function (of course you can switch to classic for the time being) and also within a matter landing page the ECB is just like the default. Is this a correct observation or am I missing something?

When using the briefcase function from within the file preview dialog in the MatterCenterHome page I get this logged:
PartitionKey: BriefcaseHelperFunction
Errorcode: -2146233088
LogMessage: List 'Documents' does not exist at site with URL 'https://[tenant]-my.sharepoint.com/personal/mcadmin_[tenant]_onmicrosoft_com'.
MethodName: UploadtoBriefcase

Has someone encountered this and knows how to fix it?

App isn't deploying to Exchange Online Add-In

Has anyone noticed that the Outlook app isn't being added during deployment? We have noticed this the last 4 Office 365 E3 tenancy has had this happen? We have one server which does the deployment, we have overwritten the xml file. We are going to go back and handcraft the xml and upload to EAC.

Installation fails during step 4

I've ran the installation after I made all the changes as described in the documentation.

The PowerShell returns the following errors and then reverts all the changes: Any idea what could be wrong?

....
Updating app schema files
C:\Git\mattercenter\tree\master\cloud\src\deployments
Updating Microsoft.Legal.MatterCenter_Outlook.xml file
Message: StartIndex cannot be less than zero.
Parameter name: startIndex
Stacktrace: at System.String.Substring(Int32 startIndex, Int32 length)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateManifest(String inputXMLFile, Dictionary2 excelInput, String sSourceLocation, String sDefaultValue, String startPageElement, Boolean iFlag) Successfully updated Microsoft.Legal.MatterCenter_Outlook.xml file Updating Microsoft.Legal.MatterCenter_Office.xml file Message: StartIndex cannot be less than zero. Parameter name: startIndex Stacktrace: at System.String.Substring(Int32 startIndex, Int32 length) at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateManifest(String inputXMLFile, Dictionary2 excelInput, String sSourceLocation, String sDefaultValue, String startPageElement, Boolean iFlag)
Successfully updated Microsoft.Legal.MatterCenter_Office.xml file
Successfully updated app schema files
18/12/2015 11:56:34 - Updating Office, Outlook and SharePoint App schema files failed
18/12/2015 11:56:34 -
18/12/2015 11:56:34 - Reverting till step 3
....

I'm assuming that there is something wrong with the xml mentioned. Here a copy of the contents. In the original config file there was https://service.azurewebsites.net
what is this referring to? I couldn't find what needs to be created here. So could this be the problem?

EBE8EFF1-3206-4A7F-8ADA-102139367014 1.0.0.0 Microsoft Corporation en-US https://login.microsoftonline.com/ https://matters.azurewebsites.net https://matters.azurewebsites.net https://matters.sharepoint.com 450 300 ReadWriteItem

Build and Deployment Guide LogTableName setting

There are two constants named LogTableName that (I guess) should be renamed to a table in the Azure storage service, but there are no instructions about setting up any such tables in the Azure storage service.
Or will these perhaps be set up by the PowerShell script?

Adding a new user to Matter Center

after performing the steps below. The user was unable to see or access Matter Center add-in from the app bar in Outlook or any MS. Office app.

Please let me know what is missing from my steps below.

Adding users to Matter Center

  1. Add uses to App Catalog after you create the catalog
  2. Sharepoint admin page
  3. Choose app/app catalog/site settings/site permissions
  4. Enter user from the above process

Note: This would only be needed if not pulling users and or group from AD
Adding Users to Site collection

  1. Adding users to site collection (This MUST be done before starting Step 1.)
  2. Admin/click on https://wbmmcpoc.sharepoint.com
  3. Site settings/site permission/team site visitors
  4. Modification to matter MUST also be in site owners
  5. Navigate to Administrative Page/Site Collection

Adding Users to Client Collection

  1. Admin page/site selection/site settings
  2. Site permission on Visitors group (remove send email option) do this for all client
  3. Users modifying matter MUST be added to Owners group

Installation Step 10 Failing

Updated:
Running Azure Site and Service check...
1/12/2016 3:06:21 PM - XXXXXXXXXXui.azurewebsites.net Azure Web Site is present
1/12/2016 3:06:22 PM - XXXXXXXXXXservice.azurewebsites.net Azure Web Service is present
1/12/2016 3:06:22 PM - Pre-requisite check completed successfully

But Step 10 fails every time:
1/12/2016 3:08:02 PM - Publishing web service on Azure
Publish-AzureWebsiteProject : The website XXXXXXXXXXservice.azurewebsites.net was not found. Please specify a valid website name.
At C:\office365\mc\tree\master\cloud\src\deployments\Scripts\PublishOnAzure.ps1:48 char:2

  • Publish-AzureWebsiteProject -Name $ExcelValue1 -Package $ServicePackagePath
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : CloseError: (:) [Publish-AzureWebsiteProject], CloudException
    • FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.PublishAzureWebsiteProject
      1/12/2016 3:08:03 PM - Publishing web site on Azure
      Publish-AzureWebsiteProject : The website XXXXXXXXXXui.azurewebsites.net was not found. Please specify a valid website name.
      At C:\office365\mc\tree\master\cloud\src\deployments\Scripts\PublishOnAzure.ps1:53 char:2
  • Publish-AzureWebsiteProject -Name $ExcelValue0 -Package $WebsitePackagePath
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : CloseError: (:) [Publish-AzureWebsiteProject], CloudException
    • FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.PublishAzureWebsiteProject

Failing to set SPcontext

Hi All,

Matter center app is failing to set context token at below code and it is failing. So please let me know the possible cause for this error and resolution ASAP.

Your help is much appreciated. Thanks in Advance !!!

it fails in TokenHelper.cs

bool validationSuccessful = false;
string realm = Realm ?? token.Realm;
foreach (var audience in acceptableAudiences)
{
string principal = GetFormattedPrincipal(ClientId, audience, realm);
if (StringComparer.OrdinalIgnoreCase.Equals(token.Audience, principal))
{
validationSuccessful = true;
break;
}

if (!validationSuccessful)
{
throw new AudienceUriValidationFailedException(
String.Format(CultureInfo.CurrentCulture,
""{0}" is not the intended audience "{1}"", String.Join(";", acceptableAudiences), token.Audience));
}
========================================================
public static string GetRefreshToken(string contextToken)
{
string refreshToken = string.Empty;
if (!string.IsNullOrWhiteSpace(contextToken))
{
SharePointContextToken contextTokenData = TokenHelper.ReadAndValidateContextToken(contextToken);
refreshToken = null != contextTokenData ? EncryptionDecryption.Encrypt(contextTokenData.RefreshToken) : string.Empty;
}
return refreshToken;
}

Thanks,
Pratap

deployment script load error.

Hello,
I am running into problems when executing the powershell script Deploy.ps1.

2/5/2016 10:33:50 AM - 
2/5/2016 10:33:53 AM - Running Pre-requisites check...
2/5/2016 10:33:53 AM - 
2/5/2016 10:33:53 AM - Checking Excel file existence
2/5/2016 10:33:53 AM - C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\MCDeploymentConfig.xlsx
2/5/2016 10:33:53 AM - Configuration Excel file exists
2/5/2016 10:33:53 AM - Reading parameters from Excel file...
Hit Line breakpoint on 'C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts\PreRequisitesScript.ps1:177'
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 
Exception calling "LoadFile" with "1" argument(s): "An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous 
versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the 
assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information."
[DBG]: PS C:\Customers\mattercenter\mattercenter-master\mattercenter-master\tree\master\cloud\src\deployments\Scripts>> 

It appears to be failing on loading the assembly:Microsoft.Legal.MatterCenter.Common.dll. I'm running Powershell v4. Has anyone run into this issue and how did you fix it?

      $Assembly = [Reflection.Assembly]::LoadFile(“$ScriptDirectory\Helper Utilities\Microsoft.Legal.MatterCenter.Common.dll”)
      $excelValues = [Microsoft.Legal.MatterCenter.Common.ExcelOperations]::ReadFromExcel($ExcelFilePath,$SheetName)

It's attempting to read the first item in MCDeploymentConfig.xlsx Config tab. ( TenantURL)

I have seen resolutions that indicate adding the following to the .config file, if this is the fix, which .config file should it be added to.

<configuration>
    <runtime>
    <loadFromRemoteSources  enabled="true"/>
    </runtime>

Thanks in advance,
Lisa

Error Creating Matter

Error creating matter. Nothing obvious on the browser end. Nothing in the server logs.
01

Deploy Step 6 Failed

Got an error at deploy step 6 as follows:

Step 6: Update resource and config files in build
Updating resource files
Updating Constants.resx file
Message: StartIndex cannot be less than zero.
Parameter name: startIndex
Stacktrace: at System.String.Substring(Int32 startIndex, Int32 length)
at System.String.Substring(Int32 startIndex)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateResourceConstants(Dictionary2 updateList, String constantElement, String constantAttribute, List1 manifestFile)
at Microsoft.Legal.MatterCenter.UpdateAppConfig.UpdateConfig.UpdateConstants(Dictionary`2 updateList, String folderName)
Message: Failed to update app schema files
Failed to update resource files

ClientID & ClientSecret

In the excel file there is a client id and a secret. Which Client Id and secret is this referring to? Shouldn't the 2 SharePoint add-ins have both their own secret and clientId?

Space in MatterCenter\AppManifest.xml causes SharePoint Install to fail

There is a space at the end of Line 4 in the file Microsoft.Legal.MatterCenter\AppManifest.xml that causes the app to never get fully installed on SharePoint.
If you stop the scripts from un-doing everything and navigate to the Matter Center app, you will see a message "Sorry, something went wrong with adding the app." On the App Details page, viewing Install Errors displays "The content database on the server is temporarily unavailable. Details: The URL '/sites/catalog/MatterCenter ' is invalid. It may contain illegal characters, or be too long."
Notice that there appears to be a trailing space in '/sites/catalog/MatterCenter '
The only text in the code that matches "MatterCenter " is in the file Microsoft.Legal.MatterCenter\AppManifest.xml
Change this text to "MatterCenter" and the app installs correctly and full deployment succeeds.

Installing on localhost

The installation is geared towards deploying to Azure. I am trying to run it to deploy to localhost to attempt to debug/make changes. Here's what I've got so far:

  • Set debug URL on Web and Service projects to https://localhost:44377 and https://localhost:44378 respectively
  • Follow deployment docs substituting [sitename].azurewebsites.net with localhost address
  • Add setting 'IsDeployedToAzure' = 'True' to MCDeploymentConfig.xlsx

When running Deploy.ps1, I get the following:

Running Azure Site and Service check...
Test-AzureName : Cannot validate argument on parameter 'Name'. The argument is null or empty.
Provide an argument that is not null or empty, and then try the command again. 
At PreRequisitesScript.ps1:329 char:45
+         $IsValid = Test-AzureName -Website  $AzureSite`

the script continues, and later stops at step 1a:

05/01/2016 11:00:45 - Step 1a: Create groups and adding users to it
Exception Details: An item with the same key has already been added.

Web.EnsureUser fails when there is more than one match - prevents matter creation

EnsureUser fails when there is more than one match. This can happen when:

  • Two users have the same title
  • One user has multiple accounts

The second situation applies to me; my SharePoint Online tenant knows about both my domain account and my Microsoft account, which of course have the same title.

ValidateTeamMembers should be using the Key that comes back from the People Picker search as the EnsureUser argument instead of title.

image

image

image

One Drive Ribbon

Does anyone know if you have create a separate Client ID for the One Drive Ribbon app?

Error when accessing any Matter Center page

I finally got Matter Center to install (O365 and Azure) after several tries and several errors. A site was created for the Client in my Excel Config file, but none of the Matters from that file were created.
Also, when I try to access the Matter Center site I get this error:

An unexpected error has occured while performing your last action. Please try again. If this issue persist, please contact your administrator.

Error Code: -2146233079

Timestamp: 02-15-2016 22:49:43:5579834

I acknowledge the error and the page displays. However, if I try to create a new Matter, the "waiting" spinner never stops and the page never loads completely. Same thing if I go to the Matter Search page. And, the same error appears every time I go to a new page.

Can anyone guide me on how to go about troubleshooting this?

Thanks.
John

Need clarification on the deployment elements...

I managed to use the script to deploy the solution but there is certain part that are still not working correctly. However I must first make sure that everything are deployed where it supposed to be.

Hi All,

So I would have confirmation from those who have managed to deploy the solution and have it working FULLY.

Do the script create the following element into your app catalog?

image

In this case "MatterCenterMatters" is the list that add items of created matters
"Matter Center" is the hosted app that open a page where you can create a new matter
"Matter Center OneDrive.." is another hosted app. In my case it does not work
and the last two "MatterCenterHelp..." are sharepoint list.

In my client site collection (created by the script) I have the following list:

image

That's it. I thought that it would have a list (a calendar and other stuff) representing any created matter but this doesn't work (it might be a configuration issue).

Then have you created a site collection called MatterCenter?
Did you add the url of that site collection as the Site_Url in your constant.resx file? (What did you put as the Tenant_Url? the same then the Site_Url?)
Does that site collection contain elements that the script creates for you or did you had to create anything manually?

When you had to adjust settings did you use the resx file in the bin folder or the App_GlobalResources folder?

Error in PreRequisitesScript.ps1

Line 230 appears to be checking the value $SharePointURL in MCDeploymentConfig.xlsx, however it appears that no such field exists.
As a result the script outputs: Running SharePoint Version check for False...
So when it passes this value to the CheckSharePointVersion function, it throws this exception: Exception calling "Create" with "1" argument(s): "Invalid URI: The format of the URI could not be determined."

(I have more!)

The variable cannot be validated because the value is not a valid value for the parentContentTypeId variable.

During step 8 I'm getting some errors:

18/12/2015 15:49:50 - Step 8: Update App files for SharePoint and OneDrive Ribbon Apps
18/12/2015 15:49:50 - Getting parent Content Type ID
18/12/2015 15:49:53 - Parent Content Type ID retrieved
The variable cannot be validated because the value is not a valid value for the parentContentTypeId variable.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\UpdateAppPackage.ps1:148 char:9

  •     $parentContentTypeId = ""
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : MetadataError: (:) [], ValidationMetadataException
    • FullyQualifiedErrorId : ValidateSetFailure

The variable cannot be validated because the value is not a valid value for the parentContentTypeId variable.
At C:\Git\mattercenter\tree\master\cloud\src\deployments\Scripts\UpdateAppPackage.ps1:148 char:9

  •     $parentContentTypeId = ""
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : MetadataError: (:) [], ValidationMetadataException
    • FullyQualifiedErrorId : ValidateSetFailure

reference to beta

In the appinstall.ps1

line 46:
$FriendlyName = @("Matter Center Beta")

Should be:
$FriendlyName = @("Matter Center")

line 380:
$AppName = @("Matter Center Beta")
should be
$AppName = @("Matter Center")

and line
$AppInfo = Get-SPOAppInfo -Name $AppName

should be
$AppInfo = Get-SPOAppInfo -Name $AppName | Where {$_.Name -eq $AppName}

The where is needed for the second fix as Get-SPOAppInfo doesn't filter on exact matches. It does a contains filter.

Installation step 11 failing

During this step 11 I'm getting a time out in the following line:
& "$HelperPath\Microsoft.Legal.MatterCenter.UpdateListPermissions" $Username $Password
}

I decompiled the UpdateListPermissions binary and the UpdateSendMailListPermissions method isn't finding the Sendmail list.

This section of the codde doesn't make much sense for an installation process.

do
{
Console.Write(".");
Thread.Sleep(30000);
clientContext.Load(lists, new Expression<Func<ListCollection, object>>[]
{
(ListCollection lists) => lists.Include(new Expression<Func<List, object>>[]
{
(List list) => list.Title,
(List list) => (object)list.HasUniqueRoleAssignments
})
});
clientContext.ExecuteQuery();
list = lists.Cast().FirstOrDefault((List list) => list.Title == listName);
num++;
}
while (list == null && 20 > num);

So the code is looking for a list and then we're waiting for a while and trying the same thing 20 times. If the list doesn't exist then why would it appear at a later stage. unless this list is something that I should create manually.

The error log is giving:

Message: SendMail list was not created successfully at https://mytenant.sharepoint.com/sites/AppCatalog/MatterCenter occurred at 21/12/2015 10:41:18

E4 Required?

The installation documentation seems to say that Office 365 E4 is required...two questions:

  1. I had heard it only required E3. Do we really need to upgrade everybody to E4?
  2. E4 is being discontinued. Does that mean the requirement is going to be E5?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.