Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
93efcb7
Update README.md
Jan 31, 2018
88036a7
Update to .NET 4.7.1 for 2018 R2 Compat
gmichaud Feb 8, 2019
e11ce23
Added a functionnality that allows a user to create a template folder…
yaniviel Feb 12, 2019
6bd69fa
Fixed to monitor the subfolder named "Template"
yaniviel Feb 12, 2019
2b83b7a
Changed the code to avoid looping
yaniviel Feb 12, 2019
115e6be
Delete app.config
yaniviel Feb 12, 2019
5a61e02
Merge pull request #2 from gmichaud/features/Copy-template-to-subFolder
Feb 12, 2019
28030d2
Fix missing reference and recompile
gmichaud Apr 26, 2019
5479ae4
o Update Box SDK Library to latest version, merging in changes made f…
gmichaud Feb 14, 2020
110d75a
Clean up
gmichaud Feb 14, 2020
b3ef3b0
Stop clearing tokens from DB when they're invalid to avoid overwritin…
gmichaud Mar 2, 2020
12feab6
Upgrade to 2020 R2
gmichaud Oct 13, 2020
ccecb4f
Merge pull request #1 from gmichaud/readmeedit
gmichaud Nov 17, 2021
17e2a6e
Merge pull request #3 from gmichaud/2020R2
gmichaud Nov 17, 2021
ffe3edd
Upudate for 2021 R2
gmichaud Apr 5, 2022
8ff4531
Merge pull request #4 from gmichaud/2021R2
gmichaud Apr 28, 2022
6bba729
Saving files before refreshing line endings
gmichaud Apr 19, 2024
fa79120
Update customization artifacts for 2023 R2.
gmichaud Apr 19, 2024
ec2c887
2023 R2 Support (#5)
gmichaud Apr 19, 2024
452864e
Adjust update script, edit/browse URLs and readme for 2023 R2
gmichaud Apr 20, 2024
f190895
Update to latest Box SDK and adjust references to use boxenterprise.net
gmichaud Apr 22, 2024
df0aea8
Update customization project
gmichaud Apr 22, 2024
cd99e3a
Merge branch 'master' into 2023R2
gmichaud Apr 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions BoxStorageProvider.sln
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2000
# Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PX.SM.BoxStorageProvider", "PX.SM.BoxStorageProvider\PX.SM.BoxStorageProvider.csproj", "{347EB52B-75DA-43A9-ADB1-41F30BD51E63}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Box.V2", "..\acumatica-box-windows-sdk-v2\Box.V2\Box.V2.csproj", "{740075F5-8B88-4B8A-A75A-564F66359607}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Box.V2", "..\acumatica-box-windows-sdk-v2-master\Box.V2\Box.V2.csproj", "{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}"
EndProject
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "Panova", "http://localhost/Panova", "{2F7D82BD-112B-4EAD-AA35-EB7C25D7E93F}"
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "AcumaticaERP", "http://localhost/AcumaticaERP", "{C5BAC16D-3E30-45AA-98AE-FD950CD202DF}"
ProjectSection(WebsiteProperties) = preProject
UseIISExpress = "false"
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.5.1"
ProjectReferences = "{740075f5-8b88-4b8a-a75a-564f66359607}|Box.V2.dll;{347eb52b-75da-43a9-adb1-41f30bd51e63}|PX.SM.BoxStorageProvider.dll;"
Debug.AspNetCompiler.VirtualPath = "/Panova"
Debug.AspNetCompiler.PhysicalPath = "..\..\Program Files (x86)\Acumatica ERP\Panova\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\Panova\"
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.8"
ProjectReferences = "{347eb52b-75da-43a9-adb1-41f30bd51e63}|PX.SM.BoxStorageProvider.dll;{740075F5-8B88-4B8A-A75A-564F66359607}|Box.V2.dll;{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}|Box.V2.dll;"
Debug.AspNetCompiler.VirtualPath = "/AcumaticaERP"
Debug.AspNetCompiler.PhysicalPath = "..\..\Program Files\Acumatica ERP\AcumaticaERP\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\AcumaticaERP\"
Debug.AspNetCompiler.Updateable = "true"
Debug.AspNetCompiler.ForceOverwrite = "true"
Debug.AspNetCompiler.FixedNames = "false"
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.VirtualPath = "/Panova"
Release.AspNetCompiler.PhysicalPath = "..\..\Program Files (x86)\Acumatica ERP\Panova\"
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\Panova\"
Release.AspNetCompiler.VirtualPath = "/AcumaticaERP"
Release.AspNetCompiler.PhysicalPath = "..\..\Program Files\Acumatica ERP\AcumaticaERP\"
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\AcumaticaERP\"
Release.AspNetCompiler.Updateable = "true"
Release.AspNetCompiler.ForceOverwrite = "true"
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
SlnRelativePath = "..\..\Program Files (x86)\Acumatica ERP\Panova\"
SlnRelativePath = "..\..\Program Files\Acumatica ERP\AcumaticaERP\"
EndProjectSection
EndProject
Global
Expand All @@ -39,14 +39,14 @@ Global
{347EB52B-75DA-43A9-ADB1-41F30BD51E63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{347EB52B-75DA-43A9-ADB1-41F30BD51E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{347EB52B-75DA-43A9-ADB1-41F30BD51E63}.Release|Any CPU.Build.0 = Release|Any CPU
{740075F5-8B88-4B8A-A75A-564F66359607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{740075F5-8B88-4B8A-A75A-564F66359607}.Debug|Any CPU.Build.0 = Debug|Any CPU
{740075F5-8B88-4B8A-A75A-564F66359607}.Release|Any CPU.ActiveCfg = Release|Any CPU
{740075F5-8B88-4B8A-A75A-564F66359607}.Release|Any CPU.Build.0 = Release|Any CPU
{2F7D82BD-112B-4EAD-AA35-EB7C25D7E93F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7D82BD-112B-4EAD-AA35-EB7C25D7E93F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7D82BD-112B-4EAD-AA35-EB7C25D7E93F}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7D82BD-112B-4EAD-AA35-EB7C25D7E93F}.Release|Any CPU.Build.0 = Debug|Any CPU
{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{602FF1B8-DF8B-4CFF-88C6-8B34468C45AD}.Release|Any CPU.Build.0 = Release|Any CPU
{C5BAC16D-3E30-45AA-98AE-FD950CD202DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C5BAC16D-3E30-45AA-98AE-FD950CD202DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5BAC16D-3E30-45AA-98AE-FD950CD202DF}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{C5BAC16D-3E30-45AA-98AE-FD950CD202DF}.Release|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
Binary file modified BoxStorageProvider.zip
Binary file not shown.
12 changes: 2 additions & 10 deletions BoxStorageProvider/Pages/SM/SM202620.aspx
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,13 @@

<asp:Content ID="dsContent" ContentPlaceHolderID="phDS" runat="server">
<px:PXDataSource ID="ds" runat="server" Visible="True" PrimaryView="Screens" TypeName="PX.SM.BoxStorageProvider.ScreenConfiguration" SuspendUnloading="False">
<DataTrees>
<px:PXTreeDataMember TreeView="SiteMap" TreeKeys="NodeID" />
</DataTrees>
</px:PXDataSource>
</asp:Content>
<asp:Content ID="formContent" ContentPlaceHolderID="phF" runat="Server">
<px:PXFormView ID="screensForm" runat="server" DataSourceID="ds" DataMember="Screens" Width="100%">
<Template>
<px:PXTreeSelector ID="screenIDSelector" runat="server" DataField="ScreenID" Width="200px" PopulateOnDemand="True" ShowRootNode="False"
TreeDataSourceID="ds" TreeDataMember="SiteMap" MinDropWidth="415">
<DataBindings>
<px:PXTreeItemBinding DataMember="SiteMap" TextField="Title" ValueField="ScreenID" ToolTipField="TitleWithPath" ImageUrlField="Icon" />
</DataBindings>
<AutoCallBack Command="Cancel" Target="ds"></AutoCallBack>
</px:PXTreeSelector>
<px:PXLayoutRule ID="PXLayoutRule1" runat="server" ControlSize="XL" LabelsWidth="M" ></px:PXLayoutRule>
<px:PXSelector ID="edProductionReportID" runat="server" DataField="ScreenID" ValueField="ScreenID" DataSourceID="ds" CommitChanges="true"/>
</Template>
</px:PXFormView>
</asp:Content>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,40 @@
<SiteMapNode>
<data-set>
<relations version="3" main-table="SiteMap" />
<relations format-version="3" relations-version="20190730" main-table="SiteMap">
<link from="MUIScreen (NodeID)" to="SiteMap (NodeID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUIScreen (WorkspaceID)" type="FromMaster" linkname="workspaceToScreen" split-location="yes" updateable="True" />
<link from="MUISubcategory (SubcategoryID)" to="MUIScreen (SubcategoryID)" type="FromMaster" updateable="True" />
<link from="MUITile (ScreenID)" to="SiteMap (ScreenID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUITile (WorkspaceID)" type="FromMaster" linkname="workspaceToTile" split-location="yes" updateable="True" />
<link from="MUIArea (AreaID)" to="MUIWorkspace (AreaID)" type="FromMaster" updateable="True" />
<link from="MUIPinnedScreen (NodeID, WorkspaceID)" to="MUIScreen (NodeID, WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
<link from="MUIFavoriteWorkspace (WorkspaceID)" to="MUIWorkspace (WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
</relations>
<layout>
<table name="SiteMap" />
<table name="SiteMap">
<table name="MUIScreen" uplink="(NodeID) = (NodeID)">
<table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
</table>
<table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
</table>
<table name="MUIWorkspace">
<table name="MUIFavoriteWorkspace" uplink="(WorkspaceID) = (WorkspaceID)" />
</table>
<table name="MUISubcategory" />
<table name="MUIArea" />
</layout>
<data>
<SiteMap>
<row Position="3" Title="Folder Synchronization" Url="~/Pages/SM/SM202630.aspx" Expanded="0" IsFolder="0" ScreenID="SM202630" NodeID="5ada29f4-9a8e-4ea1-bbc7-e8e22de9e8f7" ParentID="d70800a5-c6fb-4d99-8451-920bb9d5bd6c" />
<row Position="3" Title="Folder Synchronization" Url="~/Pages/SM/SM202630.aspx" ScreenID="SM202630" NodeID="5ada29f4-9a8e-4ea1-bbc7-e8e22de9e8f7" ParentID="d70800a5-c6fb-4d99-8451-920bb9d5bd6c">
<MUIScreen IsPortal="0" WorkspaceID="d4593b67-fa53-4ea9-b6ff-fe5963fd6aa8" Order="10" SubcategoryID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" />
</row>
</SiteMap>
<MUIWorkspace>
<row IsPortal="0" WorkspaceID="d4593b67-fa53-4ea9-b6ff-fe5963fd6aa8" Order="875" Title="Box Integration" Icon="files" AreaID="3635ea7d-0975-48ff-b4ac-a870f7e1e8b5" IsSystem="0" />
</MUIWorkspace>
<MUIArea>
<row IsPortal="0" AreaID="3635ea7d-0975-48ff-b4ac-a870f7e1e8b5" Order="30" Name="Configuration" />
</MUIArea>
</data>
</data-set>
</SiteMapNode>
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
<SiteMapNode>
<data-set>
<relations version="3" main-table="SiteMap" />
<relations format-version="3" relations-version="20190730" main-table="SiteMap">
<link from="MUIScreen (NodeID)" to="SiteMap (NodeID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUIScreen (WorkspaceID)" type="FromMaster" linkname="workspaceToScreen" split-location="yes" updateable="True" />
<link from="MUISubcategory (SubcategoryID)" to="MUIScreen (SubcategoryID)" type="FromMaster" updateable="True" />
<link from="MUITile (ScreenID)" to="SiteMap (ScreenID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUITile (WorkspaceID)" type="FromMaster" linkname="workspaceToTile" split-location="yes" updateable="True" />
<link from="MUIArea (AreaID)" to="MUIWorkspace (AreaID)" type="FromMaster" updateable="True" />
<link from="MUIPinnedScreen (NodeID, WorkspaceID)" to="MUIScreen (NodeID, WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
<link from="MUIFavoriteWorkspace (WorkspaceID)" to="MUIWorkspace (WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
</relations>
<layout>
<table name="SiteMap" />
<table name="SiteMap">
<table name="MUIScreen" uplink="(NodeID) = (NodeID)">
<table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
</table>
<table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
</table>
<table name="MUIWorkspace">
<table name="MUIFavoriteWorkspace" uplink="(WorkspaceID) = (WorkspaceID)" />
</table>
<table name="MUISubcategory" />
<table name="MUIArea" />
</layout>
<data>
<SiteMap>
<row Position="1056" Title="Box Redirect" Url="~/Pages/SM/SM202640.aspx" Expanded="0" IsFolder="0" ScreenID="SM202640" NodeID="8c337aad-37a1-4b66-8cdd-7b2f86e0d286" ParentID="84351bc9-bf6c-48b5-9dea-f8207283b64a" />
<row Position="1056" Title="Box Redirect" Url="~/Pages/SM/SM202640.aspx" ScreenID="SM202640" NodeID="8c337aad-37a1-4b66-8cdd-7b2f86e0d286" ParentID="84351bc9-bf6c-48b5-9dea-f8207283b64a" />
</SiteMap>
</data>
</data-set>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,40 @@
<SiteMapNode>
<data-set>
<relations version="3" main-table="SiteMap" />
<relations format-version="3" relations-version="20190730" main-table="SiteMap">
<link from="MUIScreen (NodeID)" to="SiteMap (NodeID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUIScreen (WorkspaceID)" type="FromMaster" linkname="workspaceToScreen" split-location="yes" updateable="True" />
<link from="MUISubcategory (SubcategoryID)" to="MUIScreen (SubcategoryID)" type="FromMaster" updateable="True" />
<link from="MUITile (ScreenID)" to="SiteMap (ScreenID)" />
<link from="MUIWorkspace (WorkspaceID)" to="MUITile (WorkspaceID)" type="FromMaster" linkname="workspaceToTile" split-location="yes" updateable="True" />
<link from="MUIArea (AreaID)" to="MUIWorkspace (AreaID)" type="FromMaster" updateable="True" />
<link from="MUIPinnedScreen (NodeID, WorkspaceID)" to="MUIScreen (NodeID, WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
<link from="MUIFavoriteWorkspace (WorkspaceID)" to="MUIWorkspace (WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
</relations>
<layout>
<table name="SiteMap" />
<table name="SiteMap">
<table name="MUIScreen" uplink="(NodeID) = (NodeID)">
<table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
</table>
<table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
</table>
<table name="MUIWorkspace">
<table name="MUIFavoriteWorkspace" uplink="(WorkspaceID) = (WorkspaceID)" />
</table>
<table name="MUISubcategory" />
<table name="MUIArea" />
</layout>
<data>
<SiteMap>
<row Position="1055" Title="Box User Configuration" Url="~/Pages/SM/SM202610.aspx" Expanded="0" IsFolder="0" ScreenID="SM202610" NodeID="9a66f707-b9cb-47bb-8d7f-933ec56a8e17" ParentID="84351bc9-bf6c-48b5-9dea-f8207283b64a" />
<row Position="1055" Title="Box User Configuration" Url="~/Pages/SM/SM202610.aspx" ScreenID="SM202610" NodeID="9a66f707-b9cb-47bb-8d7f-933ec56a8e17" ParentID="84351bc9-bf6c-48b5-9dea-f8207283b64a">
<MUIScreen IsPortal="0" WorkspaceID="d4593b67-fa53-4ea9-b6ff-fe5963fd6aa8" Order="30" SubcategoryID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" />
</row>
</SiteMap>
<MUIWorkspace>
<row IsPortal="0" WorkspaceID="d4593b67-fa53-4ea9-b6ff-fe5963fd6aa8" Order="875" Title="Box Integration" Icon="files" AreaID="3635ea7d-0975-48ff-b4ac-a870f7e1e8b5" IsSystem="0" />
</MUIWorkspace>
<MUIArea>
<row IsPortal="0" AreaID="3635ea7d-0975-48ff-b4ac-a870f7e1e8b5" Order="30" Name="Configuration" />
</MUIArea>
</data>
</data-set>
</SiteMapNode>

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Sql TableName="AdjustBoxUserTokensFieldLength" CustomScript="#CDATA">
<CDATA name="CustomScript"><![CDATA[ALTER TABLE BoxUserTokens ALTER COLUMN AccessToken nvarchar(1024)
GO

ALTER TABLE BoxUserTokens ALTER COLUMN RefreshToken nvarchar(1024)
GO]]></CDATA>
</Sql>
4 changes: 2 additions & 2 deletions BoxStorageProvider/_project/Sql_BoxUserTokens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<CDATA name="TableSchemaXml"><![CDATA[<table name="BoxUserTokens">
<col name="CompanyID" type="Int" default="Zero" />
<col name="UserID" type="UniqueIdentifier" />
<col name="AccessToken" type="NVarChar(255)" nullable="true" />
<col name="AccessToken" type="NVarChar(1024)" nullable="true" />
<col name="BoxUserID" type="NVarChar(255)" nullable="true" />
<col name="BoxEmailAddress" type="NVarChar(255)" nullable="true" />
<col name="SiteAdministrator" type="Bit" nullable="true" />
<col name="RefreshToken" type="NVarChar(255)" nullable="true" />
<col name="RefreshToken" type="NVarChar(1024)" nullable="true" />
<col name="RefreshTokenDate" type="DateTime" nullable="true" />
<index name="BoxUserTokens_PK" clustered="true" primary="true" unique="true">
<col name="CompanyID" />
Expand Down
4 changes: 2 additions & 2 deletions PX.SM.BoxStorageProvider/BoxBlobStorageProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ public void AddFile(Guid noteID)
// This function name is misleading -- this is invoked when the user clicks the "Browse Box Files" button.
FileHandler graph = PXGraph.CreateInstance<FileHandler>();
string folderID = graph.GetOrCreateBoxFolderForNoteID(noteID);
throw new PXRedirectToUrlException("https://boxenterprise.net/embed_widget/000000000000/files/0/f/" + folderID, PXBaseRedirectException.WindowMode.New, "Box.com Folder");
throw new PXRedirectToUrlException("https://app.boxenterprise.net/folder/" + folderID, PXBaseRedirectException.WindowMode.New, "Box.com Folder");
}

public string GetEditUrl(Guid fileID)
{
FileHandler graph = PXGraph.CreateInstance<FileHandler>();
BoxUtils.FileFolderInfo file = graph.GetBoxFileInfoForFileID(fileID);
return "https://boxenterprise.net/embed_widget/000000000000/files/0/f/" + file.ParentFolderID + "/1/f_" + file.ID;
return "https://app.boxenterprise.net/file/" + file.ID;
}

public string GetIdentity()
Expand Down
73 changes: 0 additions & 73 deletions PX.SM.BoxStorageProvider/BoxExceptionMessage.cs

This file was deleted.

Loading