diff --git a/docs/sideload.md b/docs/sideload.md
index e38515f..2f50c48 100644
--- a/docs/sideload.md
+++ b/docs/sideload.md
@@ -1,6 +1,6 @@
# Sideload
-[Sideload Add-Ins for testing](https://learn.microsoft.com/en-us/office/dev/add-ins/testing/sideload-office-add-ins-for-testing)
+[Sideload Add-Ins for testing][sideload-docs]
For outlook web use:
https://outlook.live.com/mail/0/inclientstore
@@ -14,15 +14,42 @@ Download the production manifest:
If you are using a managed account, there is an IT setting that can disable loading from the store and a setting that can disable sideloading. If you can't access the store you might still be able to sideload.
-## Testing
-### Setup manifest share
+## Setup manifest share
As administrator run:
> .\scripts\create-manifest-share.cmd
-### Copy over manifests
+## Copy over manifests
This copies over the latest manifests to the manifest share.
-> npm run share
\ No newline at end of file
+> npm run share
+
+## Load the local manifest
+
+Basic manifests are located in the [manifests folder](../manifests/)
+
+Follow: [Sideload Add-Ins for testing][sideload-docs]
+
+Load
+
+- `local.xml` for Word, Excel, PowerPoint.
+- `local.outlook.xml` for Outlook.
+
+Click the `[Local]` Ribbon Tab to view the local version.
+
+### Sideloading Outlook Web
+
+[Install Teams Toolkit cli](https://www.npmjs.com/package/@microsoft/teamsapp-cli)
+
+> npm install -g @microsoft/teamsapp-cli
+
+[Install the Manifest](https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-cli?pivots=version-three#teamsapp-install)
+
+> teamsapp install --xml-path manifest.xml
+
+Where `manifest.xml` is the path to the manifest.
+
+
+[sideload-docs]: https://learn.microsoft.com/en-us/office/dev/add-ins/testing/sideload-office-add-ins-for-testing
\ No newline at end of file
diff --git a/manifests/local.outlook.xml b/manifests/local.outlook.xml
index e441bc7..302f1fe 100644
--- a/manifests/local.outlook.xml
+++ b/manifests/local.outlook.xml
@@ -5,7 +5,7 @@
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
xsi:type="MailApp">
01000000-1000-0000-0000-000000007357
- 1.0.1.0
+ 2.0.1.0
wandyezj
en-US
@@ -51,11 +51,69 @@
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -70,7 +128,7 @@
-
+
@@ -86,9 +144,9 @@
-
+
-
+
diff --git a/manifests/production.outlook.xml b/manifests/production.outlook.xml
index 054f024..4a87482 100644
--- a/manifests/production.outlook.xml
+++ b/manifests/production.outlook.xml
@@ -5,7 +5,7 @@
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
xsi:type="MailApp">
01000000-1000-0000-0000-000000007357
- 1.0.0.0
+ 2.0.0.0
wandyezj
en-US
@@ -51,11 +51,69 @@
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -70,7 +128,7 @@
-
+
@@ -86,9 +144,9 @@
-
+
-
+
diff --git a/manifests/template.outlook.xml b/manifests/template.outlook.xml
index b0d1b0d..41d6857 100644
--- a/manifests/template.outlook.xml
+++ b/manifests/template.outlook.xml
@@ -5,7 +5,7 @@
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
xsi:type="MailApp">
01000000-1000-0000-0000-000000007357
- 1.0.1.0
+ 2.0.1.0
wandyezj
en-US
@@ -53,7 +53,7 @@
Compose is when replying to an email -->
-
+
@@ -108,6 +108,7 @@
+
diff --git a/scripts/make-manifest.js b/scripts/make-manifest.js
index cb685f2..6901395 100644
--- a/scripts/make-manifest.js
+++ b/scripts/make-manifest.js
@@ -110,21 +110,38 @@ function localhost(data) {
function localhostOutlook(data) {
const sectionExtensionPoint = "ExtensionPoint";
const duplicate = getSectionContents(sectionExtensionPoint, data);
+ data = removeSection(sectionExtensionPoint, data);
- // Read
- let extensionPointRead = duplicate.replace("MessageComposeCommandSurface", "MessageReadCommandSurface");
- // Replace Ids with unique equivalent
+ // Create new section and update ids
+ function createSection(extensionPointName, prefixId) {
+ let extensionPointSection = duplicate.replace("MessageComposeCommandSurface", extensionPointName);
+ // Replace Ids with unique equivalent
+
+ const findId = / id="(?.*Id)"/;
+ const findIdsGlobal = / id="(?.*Id)"/g;
+ let matches = extensionPointSection.match(findIdsGlobal);
+
+ matches.forEach((value) => {
+ //console.log(value);
+ const id = value.match(findId).groups["value"];
+ //console.log(id);
+ extensionPointSection = extensionPointSection.replace(id, `${prefixId}.${id}`);
+ });
- const findIds = / id="(?.*Id)"/g;
- let matches = extensionPointRead.match(findIds);
- matches.forEach((value) => {
- console.log(value);
- });
+ return extensionPointSection;
+ }
- [`id="TabDefault"`, `id="GroupExtensionId"`, `id="ButtonEditId"`, `id="ButtonRunId"`, `id="ButtonHelpId"`];
+ // Compose
+ const extensionPointCompose = createSection("MessageComposeCommandSurface", "Compose");
+ data = data.replaceAll(
+ "",
+ extensionPointCompose
+ );
+ // Read
+ const extensionPointRead = createSection("MessageReadCommandSurface", "Read");
data = data.replaceAll(
- " ",
+ "",
extensionPointRead
);
@@ -150,6 +167,7 @@ function production(data) {
);
data = data.replaceAll("1.0.1.0", "1.0.0.0");
+ data = data.replaceAll("2.0.1.0", "2.0.0.0");
return clean(data);
}