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

Support for Deploying a "Client" package only. #38

Closed
dazinator opened this issue Feb 14, 2016 · 8 comments
Closed

Support for Deploying a "Client" package only. #38

dazinator opened this issue Feb 14, 2016 · 8 comments

Comments

@dazinator
Copy link
Owner

When making superficial changes to client side files like javascript, or ascx files, that don't require a new assembly / dll to be deployed, currently the only way to deploy them with dnn packager is to install the complete module zip, which includes the dll, and will cause the site to restart. This can be slooow and annoying.

Find a way of allowing the developer to just deploy a "Client" side version of the package instead, that will be the same as the ordinary zip package, just not include any dll files.

I think the best way to handle this might be to extend the Install-Module command to something like this:

Install-Module [SiteName] [BuildConfguration] [Attach] --Client

However this command line is getting a little bit verbose and I can see that people might need to easily be able to switch back and forth between deploying "client" files, and deploying a full package when they make changes to compiled code.

Ideas welcome.

One workaround for now, is whilst you just need to make tweaks to client side files, you can edit them directly from the website folder, but then copy them back into your source in visual studio when you are done, but I don't like that approach as editing directly in website is in my opinion a lazy solution to the problem that doesn't encourage clean seperation between source and host.

@dazinator
Copy link
Owner Author

One elegant solution to this problem might already work.

Create a build configuration in VS, called Client.

Create a manifest.client.dnn file, and make it the same as your existing manifest, but without the assemblies.

Install-Module [SiteName] Client [Attach]

@david-poindexter
Copy link
Contributor

This would be a great approach. Most of our custom module development these days are SPA modules, where a great deal of the work is obviously client-side, so having this Client option would come in handy (even if it means maintaining a mostly redundant additional manifest file).

@dazinator
Copy link
Owner Author

Sadly, i tried this today, and even though the manifest didn't include any dll's, the site still restarts after the zip package is installed. Im wondering if this may be coded into the dnn installer so that it always restarts the site regardless..

@david-poindexter
Copy link
Contributor

Installing a PA ZIP without a DLL should not result in a restart of the site. Something else must be happening.

@dazinator
Copy link
Owner Author

Hmm ok, thats what i thought too. Ok i'll take another look at it tomorrow :)

@dazinator
Copy link
Owner Author

I have just tested this out using Dnn9 and it seems Dnn always restarts the site even if your package doesn't contain any assembly..

@dazinator
Copy link
Owner Author

Therefore the only mechanism I can see to enable this functionality is to come up with some sort of watcher, whilst debugging, it will detect file changes and copy them. I'll need to come up with a design for this feature, after 3.0 is released.

@dazinator
Copy link
Owner Author

Duplicate of #66

@dazinator dazinator marked this as a duplicate of #66 Feb 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants