Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...DNN Platform (o...DNN Platform (o...git-ing startedgit-ing started
Previous
 
Next
New Post
11/16/2013 5:29 PM
 

Hello,

I'm glad to see that the DNN code has moved to git - I hear that's a much easier way to submit changes to the code. 

But, I'm pretty unfamiliar with git and I'm hoping somebody can help me out. I think that the questions I have are sorta beyond just git... Basically, what's the best way to setup visual studio so that I can make changes to the DNN code and submit them to the repository? Does anybody have any tips on how to start? I'd, of course, like to be able to compile the code and test it before I submit it... and I've never actually even compiled the DNN platform before.

So, does anybody know any tutorials or tips on getting started? I have a few changes in mind that I think are within my capability to do for DNN... but I'd like to do it right and head down the right path.

Thanks,

Mike

 
New Post
11/16/2013 7:46 PM
 

Hello - we're still working though the full process, trying to establish requirements and resources to ensure we don't end up with a broken contribution model - there will be documentation forthcoming once we've settled down a little. In the meantime heres some gui/documentation links (and don’t forget you can get nightly builds at http://www.dnnsoftware.com/Platform/B... if you dont want to use git for now)
•        http://git-scm.com/ (includes full content of Pro Git book)
•        http://www.sourcetreeapp.com/ free git client (this is what we use in DNN Corp, so any future documentation may well use this in the examples)

* Visual Studio tools for GIT - http://visualstudiogallery.msdn.micro... -if you prefer fully working within vs.net these are very helpful (they're also built into vs.net 2013)

 
This seems to be a good candidate if used to TortoiseSVN:
•        http://code.google.com/p/tortoisegit/
When working with Git you need to remember that there are some differences from TFS.  Some of these differences are due to nomenclature, some are due to the fact that Git is a distributed source control system, rather than a centralized source control system.
 
Commit
 
Commit is Git’s equivalent to TFS Check-in (kind of).  In many ways Commit is similar to using a TFS shelveset.  Commit saves your changes to your local repository.  Commit does not mean that GitHub has been updated.  You need to “Push” your changes to GitHub to make them available to everyone else.
 
Pull
 
Pull is Git’s equivalent to Get Latest.  SourceTree will indicate that you are “behind” the origin by displaying a number on the Pull button.  Click the Pull button to make your local repository match the origin.
 
Reset
 
Reset allows you to rollback your uncommitted changes.
 
Using the terminal you can enter the command the following command to rollback your uncommitted changes
 
git reset –hard
 
Clean
 
This is kind of equivalent to TFS’s scorch command.  Use this to remove the untracked artifacts that have built up in your website.  The following will remove all folders and files that have been added that are not in the repo.
 
git clean –d –x -f
 
To reinstall your site
 
Execute git reset and git clean, do a rebuild in debug and release mode and create a new database, and you are ready to re-install.


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
11/16/2013 10:24 PM
 

Couple of things you need to consider

1. get youself a git account if you have not already done so.

2. register yourself on the dnn support tracker - https://dnntracker.atlassian.net/secu...

You need to raise a ticket on the support tracker for any changes you make using git - there are notes on the dnn git archive in the the CONTRIBUTING.md file that talk about some of the concepts.

3. log into git and head to the dnn repository  -   https://github.com/dnnsoftware/Dnn.Pl...

4. click on the FORK button to make your own personal fork of the repository for your own use.

5. make a note of the HTTPS: Clone URL - there is an option to copy to the clipboard - it will look something like

https://github.com/YOURGITUSERNAME/Dnn.Platform.git

 

6. I like using the built in Visual Explorer tools - but there are any number of other ways to access this tree and pull it onto your system -  http://visualstudiogallery.msdn.micro....   If you are using visual studio 2012 - download and install this.

7. start visual studio - the next steps can be a little different depending on which version of VS you have but basically.

8. Open the Team Explorer tab - Select ->  Local Git Repositories -> CLONE.
Copy in the url from your development fork 
Select a local folder to clone the repository to

HIT the CLONE button - and wait for the repository to be downloaded to your local machine.

9. Alternatively -    https://help.github.com/articles/set-...  will talk you thru setting up git for windows.
Its a cmd line system - which does give access to some functions that are problematic using the inbuilt VS tools.
https://help.github.com/articles/fork...  talks thru the basics of cloning using the command line.

You can also install install the cmdline tools from inside visual studio by following the link to Install 3rd-party Git command prompt tools.

10. anyway - back on visual studio ... ONCE the repository has finishing downloading - about 300meg later you can now get ready to checkout a branch to work with.

Firstly if you haven't done so before - go to the settings section and put in you github username and email details - for later reference.

11. the next step is important - at the moment all you have done is cloned the repository to your local machine - you have not yet actually checkout any files to work on -  when working with DNN the current documentation says to work with the DEVELOPMENT branch only  -  only dnn core personnel should work with other versions.

Select the repository you previously downloaded - "click home on the Team Explorer - and double click on the repository you downloaded"

Click on the Branches link.

Select New Branch.

give the branch a name like  "yourgithubname_development"  and select the origin/development  branch - and make sure the Checkout branch checkbox is selected -- and hit Create Branch.

12. you are now almost ready to open the DNN_Platform.sln project in the git repository folder and start working with it.

BUT a couple of things you should do firstly - to keep a consistent development platform.

As a part of the setup of a development compile - the system will try to install and configure a working website platform.
For this to work properly you need to make sure that IIS is configured on your system - basically browse to http://localhost/.
You should get the default a IIS web page.   If you get any sort of error - make sure IIS is installed on your system and properly configured with a default website.

BASICALLY what is going to happen - is the source installer is going to create a website http://localhost/DNN_Platform/.  You dont need to actually create the website it will happen as part of the first time you open the project in VS.

The other thing you should make sure is that you have installed MS SQL EXPRESS 2012 on the same system.

13. Now OPEN the DNN_Platform.sln ... If all goes well the project should open - with no errors

14. In Build - Configuration Manager -  switch to RELEASE mode - and Build the project 

15. again if everything went correctly - you should now be able to open a browser and go to http://localhost/DNN_Platform/  and after a couple of seconds you should see the dnn install page.

You now have a fully functional DNN system - ready for use as a working development platform - and also configured to manage checkin and checkout thru github  --- just start to edit any element and VS will automatically start marking things at pending edits.

Make sure you read thru the current contributor notes - and also understand that its still a work on progress - and most especially  - that for any changes you make - there should be a corresponding   dnn support ticket -  and the support ticket number should be noted in the corresponding COMMIT messages in a format like:

(DNN-####) Make the example in CONTRIBUTING imperative and concrete

 

-  hope this gives you a way forward -  

Westa

 

 

 


 
Previous
 
Next
HomeHomeDevelopment and...Development and...DNN Platform (o...DNN Platform (o...git-ing startedgit-ing started


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out