DNNCommunity / DNNDocs

The documentation site for the open source Content Management System DNN (formerly DotNetNuke).
https://docs.dnncommunity.org
23 stars 51 forks source link

Add an Option to Not include Dnn source in local Build and Workflow #619

Closed jeremy-farrance closed 2 years ago

jeremy-farrance commented 2 years ago

GB of Disk Space Used and Slower DocFX compiling?

Currently when you build and then work on docs, the initial Build process copies the (1+ GB) source of Dnn Platform to you local system. This might be useful or needed if you are working on docs that reference or link to stuff in Dnn, but for the majority of users I imagine most of the docs and tutorials written or edited rarely need that.

So the problem is that over a GB of space gets used up in your local project and DocFX+Plugins take longer to compile your project.

Description of solution

Provide an option to do the initial Build without copying in Dnn Platform from GitHub and also establish a mode? so that you can easily default to a workflow that just works even if the Dnn source is not there.

Screenshots

image

Comments from the related Slack discussion 10/4/2021

Jeremy Farrance 12:40 PM I might have missed a step or skipped reading something that I should have, but ... Would it make sense to have the option on a local build to NOT pull the Dnn Platform? Its a GB and takes time to process. Or is there another workflow that I am missing that lets you just do the docfx part alone and/or ignore or cache the Dnn.Platform processing? A year ago I remember it working just fine w/o the local copy of all the Dnn code and things were much faster.

Daniel Valadas 12:41 PM Yeah, I think we can add that option

Jeremy Farrance 12:42 PM Worth adding as an issue? I can do that.

Daniel Valadas 12:43 PM @David Poindexter would the build simply work without the files or do we need them and just modify to pull it only once?

David Poindexter 2:16 PM @Jeremy Farrance it would be great if you could create that issue. Here is what I had on my list TODO. For local build, I think the default (currently Serve) should not depend on PullDnnRepo . However, if we remove that dependency from Serve, then we would need another target to provide that option for those that wanted it. And we would need to of course document this in the README.

valadas commented 2 years ago

This can be handled a coup;e of ways.

  1. We can modify the targets so one is quicker and does not pull dnn.
  2. As the build is just a console application, we can keep the same target but ask the user on the spot with (y/n)
  3. We can pull only if the folder is empty, so that its there but if you want to refresh, you can just delete the folder and re-run
david-poindexter commented 2 years ago

@valadas I love the idea of option 2 - can you teach me how to do this?