You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.0.2] - 2019-02-07
9
+
10
+
### Fixed
11
+
12
+
- Fixed OAuth support. NetSuite OAuth is weird.
13
+
14
+
### Added
15
+
16
+
- Assigned a version to the RESTlet, and created a GET request that will pull down the version number of the RESTlet. This allows the extension to detect when the RESTlet version is not up-to-date, and to warn the user. There's also a new palette command, `Get NSUpload RESTlet version` which will fetch the value and display it in a notification.
17
+
- Continued improving error handling. Now can detect bad authentication and warn the user.
Copy file name to clipboardExpand all lines: README.md
+38-31Lines changed: 38 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,24 @@
1
1
# netsuite-upload VS Code plugin
2
2
3
-
**netsuite-upload** is a Visual Studio Code extension that allows you to manage your SuiteScript files directly from the IDE & helps you with defining of new modules & module dependecies
3
+
**netsuite-upload** is a Visual Studio Code extension that allows you to manage your SuiteScript files directly from VS Code. It also helps you with defining new modules and adding server-side module dependecies.
4
4
5
5
## Under New Management
6
-
In February 2019, original author original author Tomáš Tvrdý transferred ownership of this project to silverl. I'm releasing an updated version 1.0.X line with many fixes. I'm looking for volunteers to help test before I publish the extension to the VS Code Extensions site. Please reach out in a new Issues item.
6
+
7
+
In February 2019, original author original author Tomáš Tvrdý [@tvrdytom](https://github.com/tvrdytom) transferred ownership of this project to me [@silver](https://github.com/silverl). The last version under this line of development was `0.1.3`.
8
+
9
+
New releases will be versioned `1.0.0+`.
7
10
8
11
## Features
9
12
10
13
### 1. Push and Pull Files and Folders between VS Code and the NetSuite File Cabinet
11
14
12
-
Right-click the file/folder in the navigation panel to see the options:
15
+
Right-click a file or folder in the navigation panel to see the context menu options:
13
16
14
-
-`Pull file from NetSuite` - downloads file from NetSuite
15
-
-`Push file to NetSuite` - uploads file to NetSuite
16
-
-`Delete file in NetSuite` - deletes file in NetSuite
17
-
-`Compare file with NetSuite` - compares your local version with the NetSuite one
18
-
-`Pull folder from NetSuite` - Download the folder content from NetSuite
17
+
-`Pull file from NetSuite` - downloads a file from NetSuite
18
+
-`Push file to NetSuite` - uploads a file to NetSuite
19
+
-`Delete file in NetSuite` - deletes a file in NetSuite
20
+
-`Compare file with NetSuite` - diff your local version with the NetSuite version
21
+
-`Pull folder from NetSuite` - Download the folder and all contents from NetSuite
19
22
20
23

21
24
@@ -32,8 +35,9 @@ Right-click the file/folder in the navigation panel to see the options:
32
35
33
36
By changing the `netSuiteUpload.rootDirectory` setting in `settings.json`, you can push and pull files and folders to/from a different base subfolder.
34
37
35
-
## Very Important Fact!
36
-
Your VS Code project **MUST MUST MUST** be rooted at the folder that maps to the SuiteScript NetSuite file cabinet folder. This extension assumes it is being used inside that folder.
38
+
## Very Important Fact
39
+
40
+
Your VS Code project **MUST MUST MUST** be rooted at the folder that maps to the SuiteScript NetSuite file cabinet folder. This extension assumes it is being used inside that folder.
37
41
38
42
If you look in the left pane of VS Code and your top-level folder is "SuiteScript", you've done it wrong. Instead, do a `File...Open Folder` in VS Code and choose that SuiteScript folder to open.
39
43
@@ -46,6 +50,7 @@ Since this extension is under new leadership, I'm waiting until I get some beta
46
50
Therefore, I'm asking everyone to manually install from the Github Releases tab.
47
51
48
52
The procedure:
53
+
49
54
- Uninstall Old: If you have a previous version from the Marketplace installed, uninstall it. (Command palette -> Extensions: Show Installed Extensions)
50
55
- Uninstall `netsuite-upload`
51
56
- Download the `netsuite-upload-1.0.0.vsix` file from the [Github Releases tab](https://github.com/netsuite-upload-org/netsuite-upload/releases)
@@ -70,22 +75,11 @@ _Future versions of this VS Code Extension may require that you upgrade the REST
70
75
71
76
### Authentication
72
77
73
-
#### Role Permissions
74
-
75
-
This extension is going to be calling a NetSuite RESTlet that will be manipulating files and folders in the SuiteScripts folder of the File Cabinet. Therefore, that user must have sufficient permissions assigned to their Role to allow these file changes, and to call the RESTlet.
76
-
77
-
At a minimum, the Role must have the following **Setup** permissions (please let me know if I have any of these wrong):
78
-
79
-
- Access Token Management - Full
80
-
- Allow JS / HTML Uploads - Full
81
-
- Log in using Access Tokens - Full
82
-
- SuiteScript - Full
83
-
- User Access Tokens - Full
84
-
- Web Services - Full
78
+
This extension supports accessing the RESTlet script deployment using either NLAuth authorization or OAuth 1.0 authorization.
85
79
86
80
NLAuth is supported. OAuth is attempted in the code, but I couldn't make it work locally. I could use some testers.
Place the following in either Workspace settings or general User settings:
91
85
@@ -102,14 +96,28 @@ Place the following in either Workspace settings or general User settings:
102
96
- PASSWORD - Your password
103
97
- ROLE - The NetSuite RoleID for which you have web service/API permissions.
104
98
105
-
#### OAuth
99
+
#### Authentication Option 2: OAuth
106
100
107
-
To experiment with OAuth, leave the setting for `netSuiteUpload.authentication` unset or commented out.
101
+
Generating the necessary tokens for OAuth is covered in the NetSuite help site. It's not fun.
108
102
109
103
- If you wish to use OAuth authentication instead of basic authentication you can leave the authentication header blank and use the OAuth settings properties.
110
-
- First generate an Integration record in NetSuite, make sure the 'token based authentication' scheme is checked, and save the token and secret
111
-
- Second log into a role you wish to use for authentication and from the manage tokens center generate a new token and secret using the Integration from the previous step
112
-
- Input the 4 values from above in the corresponding settings options along with the account number in the realm property
104
+
- First, generate an Integration record in NetSuite, make sure the 'token based authentication' scheme is checked, and hang on to the token and secret details.
105
+
- Second, log into a role you wish to use for authentication. From the "manage tokens center", generate a new token and secret using the Integration from the previous step.
106
+
- Input the 4 values from above (NetSuite key and token and Consumer key and token) in the corresponding settings options.
107
+
- Set the `realm` setting equal to your numeric NetSuite account number.
108
+
109
+
### Authorization - User Role Permissions
110
+
111
+
This extension is going to be calling a NetSuite RESTlet that will be manipulating files and folders in the SuiteScripts folder of the File Cabinet. Therefore, the user being authenticated must have sufficient permissions assigned to their Role to allow these file changes, and to call the RESTlet script deployment.
112
+
113
+
At a minimum, the Role must have the following **Setup** permissions (please let me know if I have any of these wrong):
114
+
115
+
- Access Token Management - Full
116
+
- Allow JS / HTML Uploads - Full
117
+
- Log in using Access Tokens - Full
118
+
- SuiteScript - Full
119
+
- User Access Tokens - Full
120
+
- Web Services - Full
113
121
114
122
### settings.json
115
123
@@ -136,9 +144,8 @@ To experiment with OAuth, leave the setting for `netSuiteUpload.authentication`
@@ -154,4 +161,4 @@ Add the following to your `keybindings.json` file:
154
161
155
162
## Limitations
156
163
157
-
The plugin is using RESTlet for the communication with the NetSuite which is having some governance limitation. Current implementation does not deal with this problem, so there could be a problem to pull folders containing a lot of items from NetSuite.
164
+
The plugin is using a RESTlet for the communication with NetSuite. RESTlets have some governance limitations. Current implementation does not deal with this, so there could be problems pulling folders containing a lot of items from NetSuite.
0 commit comments