Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💡 [Feature]: Present solutions deployed per app catalog #215

Open
Adam-it opened this issue Apr 17, 2024 · 12 comments
Open

💡 [Feature]: Present solutions deployed per app catalog #215

Adam-it opened this issue Apr 17, 2024 · 12 comments
Assignees
Labels
👨‍💻 CLI for Microsoft 365 Requires to first extend CLI for Microsoft 365 ⭐ enhancement New feature or request hacktoberfest 👨‍💻work in progress I am working on it
Milestone

Comments

@Adam-it
Copy link
Contributor

Adam-it commented Apr 17, 2024

🎯 Aim of the feature

The aim of this issue is to show apps deployed to each app catalog (similar way like we now present tenant-wide extensions for tenant level app catalog)

Additionally, we could introduce the following features:

  • allow to disable and enable a solution
  • allow to move solutions between app catalogs (from site level to tenant level and the other way around)
  • allow to remove and retract a solution
  • clicking on app link should go to the solution appStore.aspx page
  • allow to add a webpart to all sites

we should add an extension setting that will allow to hide this information in the UI

📷 Images (if possible) with expected result

image

🤔 Additional remarks or comments

parent issue: #15

@Adam-it Adam-it added ⭐ enhancement New feature or request 🙏 help wanted Open for contributors labels Apr 17, 2024
@Adam-it Adam-it added this to the v3.X milestone Apr 17, 2024
@Adam-it Adam-it added the 👨‍💻 CLI for Microsoft 365 Requires to first extend CLI for Microsoft 365 label Jun 22, 2024
@Saurabh7019
Copy link
Contributor

Hi @Adam-it , Can you assign this to me please?

@Adam-it Adam-it added 👨‍💻work in progress I am working on it and removed 🙏 help wanted Open for contributors labels Jul 8, 2024
@Adam-it
Copy link
Contributor Author

Adam-it commented Jul 8, 2024

Hi @Adam-it , Can you assign this to me please?

Sure thing.
This one is a bit more difficult. Please do ask questions if you have any kind of problem or doubt 👍

@Saurabh7019
Copy link
Contributor

Please do ask questions

Sure. Thank you :)

@Saurabh7019
Copy link
Contributor

Hi @Adam-it,
Is cli-cjs updated? I am getting an error in the latest dev branch:

image

The account signin is not working.

image

@Adam-it
Copy link
Contributor Author

Adam-it commented Jul 11, 2024

Hi @Adam-it, Is cli-cjs updated? I am getting an error in the latest dev branch:

image

The account signin is not working.

image

how did you obtain cli-cjs version?
I am asking as currently it is very hacky and tricky and there is no good way around it. and running just npm install wont solve this.
What you need to do i to manually replace CLI for M365 in node modules with your local version of CLI in cjs
you may do it by follwoing those steps:

  • Clone the cjs version of CLI for Microsoft 365 from the following Github repo/branch cli-cjs next to vscode-viva repo
  • In the cloned CLI for Microsoft 365 repository, run: npm install, npm run clean, npm run build to generate the CLI for Microsoft 365 output. Make sure the cloned CLI for Microsoft 365 repository is in the same workspace as the SharePoint Framework Toolkit repository. So for example you should have the following structure:
root:
  - cli-microsoft365
  - vscode-viva  
  • from the cloned for of SharePoint Framework Toolkit repository run the following script cli-for-microsoft365-copy-local-version passing the workspacePath the full path to the root folder of the workspace. This script will copy the output of the CLI for Microsoft 365 to the SharePoint Framework Toolkit extension node modules folder.

@Saurabh7019
Copy link
Contributor

I was trying exactly as you mentioned. I tried again with a fresh clone, and now I am getting another issue:

image

If it works fine for you, I must be doing something wrong. I will try again later today.

@Adam-it
Copy link
Contributor Author

Adam-it commented Jul 11, 2024

I was trying exactly as you mentioned. I tried again with a fresh clone, and now I am getting another issue:

image

If it works fine for you, I must be doing something wrong. I will try again later today.

this error says that you are using esm version of js which is not supported in VS Code extensions.
This would seem like you still have CLI in esm no in cjs from my branch 🤔.
Are you trying to add some CLI command which is not already used? maybe there is some bug in cli-cjs branch 🤔. do you wanna share your branch with your changes done so far and some details? I could give it a check over the weekend

@Saurabh7019
Copy link
Contributor

It works after cleanup. Thanks for looking into it. I will work on this issue soon; have a great summer. :)

@Adam-it Adam-it modified the milestones: v3.X, v4.X Sep 8, 2024
@Adam-it
Copy link
Contributor Author

Adam-it commented Sep 23, 2024

Hi @Saurabh7019
Hows the work coming up with this issue?
Do you need any additional help from my side?
This year the SPFx Toolkit repo will participate in hacktoberfest and this issue will count so if you are also planning to join this event please do remember to rise a PR during October (no sooner no later 😉)

@Saurabh7019
Copy link
Contributor

Hi @Adam-it ,

Thanks for checking in. Most of the features are done, except for the 'Move apps between app catalogs' part. Also, to improve the extension load times, I made changes in ActionTreeDataProvider so that apps and extensions are loaded only when the user expands the relevant tree view node (I can undo this if needed during review). Right now, it looks like this:

image

I did most of the work during the summer vacation, but I am struggling to find time to wrap it up now. In hindsight, we should have broken this into multiple issues; it would have made things easier.

I will try to work on "Move apps" feature early next week and raise a PR.

@Adam-it
Copy link
Contributor Author

Adam-it commented Sep 24, 2024

Hi @Adam-it ,

Thanks for checking in. Most of the features are done, except for the 'Move apps between app catalogs' part. Also, to improve the extension load times, I made changes in ActionTreeDataProvider so that apps and extensions are loaded only when the user expands the relevant tree view node (I can undo this if needed during review). Right now, it looks like this:

I did most of the work during the summer vacation, but I am struggling to find time to wrap it up now. In hindsight, we should have broken this into multiple issues; it would have made things easier.

I will try to work on "Move apps" feature early next week and raise a PR.

wow looks really awesome 🤩 You Rock 🚀😍.
Some feed/question from my side:

  • what if for the move app feature we create a follow issue and take it later on when we have more time. I guess as first go we do not have to introduce everything at once 💪
  • what does the remove do? is it moving to recycle bin or permanent remove or there is a follow up question what should be the action?
  • what does the deploy do? does it install it on a selected SharePoint site? Because the app is already deployed to an app catalog right
  • I was also wondering if it would be better to add those 'actions' next to the app name not under it like this
    image
    it's also possible to add ... with menu to more options like this
    image
    we already use those actions next to the account to show the sign-out button here

    vscode-viva/package.json

    Lines 411 to 417 in fc90031

    "view/item/context": [
    {
    "command": "spfx-toolkit.logout",
    "when": "view == pnp-view-account && viewItem == m365Account",
    "group": "inline@1"
    }
    ],

BTW awesome to see you are also using the CLI VS Code extension 😍

@Saurabh7019
Copy link
Contributor

Saurabh7019 commented Sep 24, 2024

  • what if for the move app feature we create a follow issue and take it later on when we have more time. I guess as first go we do not have to introduce everything at once 💪
    Sounds good!
  • what does the remove do? is it moving to recycle bin or permanent remove or there is a follow up question what should be the action?
    remove is inverse of add. It moves the app to recycle bin. Once removed from the app catalog, the solution can't be deployed.
  • what does the deploy do? does it install it on a selected SharePoint site? Because the app is already deployed to an app catalog right
    Deployment of the solution makes it available to install in sites. It does not automatically install it on the selected site.
  • I was also wondering if it would be better to add those 'actions' next to the app name not under it like this.
    This design looks so much better. I will make this change.
  • Additionally, we have Enable and Disable actions:
    Enable: Enabling an app will allow end users to see it as an option to add to their SharePoint sites.
    Disable: Disabling the app will hide it from end users, preventing them from adding it to sites.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👨‍💻 CLI for Microsoft 365 Requires to first extend CLI for Microsoft 365 ⭐ enhancement New feature or request hacktoberfest 👨‍💻work in progress I am working on it
Projects
None yet
Development

No branches or pull requests

2 participants