I have multiple websites that I work on. I set up each website as a Project in Redmine. I share a lot of code across these multiple sites. Is it possible to assign an issue to multiple projects? Or what would you recommend doing if you are working on something that goes across multiple projects.
I am the author of this redmine plugin:
https://github.com/nanego/redmine_multiprojects_issue
You should give it a try as it has been written exactly for this use case.
Related
I recently made an online-post-curating service with django. I now upload posts manually everyday but finally realized web-crawler/scraper is highly needed to save my time. In this case, is it better to make a separate django project(for the crawler only)? Or just starting a new app in the existing project is enough?
[Advantage/Ground of making separate project for crawler (I guess)]
Totally different dependencies needed, so new project
Mainly asynchronous tasks unlike the existing service
The function is very universal (not really related to post-curating service)
Server spec. for crawler must be different, so be prepared in advance with separate project.
[Opposite side - making an app is inough]
For asynchronous tasks, just adding some library like Celery in your project is enough
Running multiple projects demands lots and lots of additional effort
Two projects using one database(saving and reading posts) at the same time can be a threat in some day
Sorry for the tacky question and thank you in advance!
I've been reading through related articles regarding using same database for multiple django projects however, I have not been able to come up with a fix yet.
I've tried relative and absolute pathing when importing but it gives "attempted relative import beyond top-level package" error when I try to access parent directory.
Project 1 gets the users to write to database by filling in a form and Project 2 retrieves data written in by users from database.
I'm using Postgresql for database. I've tried writing exactly same models.py for both projects but it seems like in database they appear as separate relations/tables. E.g. for table named school in both models.py, it would look like project1_school and project2_school in Postgres database.
Is there a way to write to and read from same tables of same database?
Thank you so much in advance.
I think that you might be confuse with the difference between Projects and Applications.
Projects vs. apps
What’s the difference between a project and an app? An app is a Web application that does something – e.g., a Weblog system, a database of public records or a small poll app. A project is a collection of configuration and apps for a particular website. A project can contain multiple apps. An app can be in multiple projects.
Writing your first Django app, part 1
So in you particular case, I would say that your actual projects, both of them, could be applications of one project. The main reason, why I think this is a better approach, is that both are gonna use the same data, one application writes while the other retrieve it. One could even argue that they actually could be the same application. But this may depend on many factors of your business.
BTW, is really hard for me to imagine a situation where it would be a good idea to have two projects using the same database. Even if both projects need to share data, I would not think in using on database. I would try to solve it at an application level. But I you need for some reason to share information at database level, there are tools to connect both databases.
I'm setting up a custom built e-commerce project. One site will be for the UK and another inside another country, with the possibility of adding more at a later date. However, the sites have different integrations e.g. payment systems, warehousing etc. I want to keep to the databases separate as the sites will be running on separate servers.
The issue i'm having is how to manage the sites. Ideally i'd like to have a master branch. So if say, i want to update the header of the website i can make the change, then roll it out to all websites. Rather than having to make the same change multiple times. However, some of the view logic might be different due to the integrations. So i need to keep the code separate. Should i create separate branches for each country/site? Then branch off of the master branch when i want to make a change to all sites? Also, each site will need to have a staging & live site. So in my head it looks like something like this:
Master
Branch -> (Quick template change for all sites)
UK
Staging
Live
Country Two
Staging
Live
Country Three
Staging
Live
Or do i keep the projects separate in the repo? So have Main project, then create forks from that main repo?
I hope this makes sense, any help would be appreciated.
Found an approach which I think will work for me - Best practice setup for two websites with different style sheets and templates, but similar Django back end
Basically will have a Master repo containing the whole project, which i can make changes to templates, css etc. Then have have seperate repos (clones) for the separate sites. Then when then integrations are different, keep the logic outside of the files that could clash. So when doing a pull from the Master repo, i won't have any conflicts.
I'm getting set up with proper distribution version control (yes, overdue) on a large Django environment with lot's of reusable apps and lot's of projects.
What's the right way to do this?
Clone each app you need within each project, to allow you to make changes to the app without worrying about breaking anything.
Have one copy of each version controlled application to avoid having multiple copies of the code, each in its own repository.
Or is there a better way?
Thanks.
Edit for clarity: These are in house apps that are reused from project to project.
In my opinion the best practice is to keep all your apps as one library/package. You can have versions/snapshots (e.g. tags in hg) and branches and you should definitely create and configure setup.py file.
If the app are reusables, you must create a egg in pypi. These have releases. For each project, you could use one or the other releases.
See for example this package.
To deploy the projects both in local as in the server, you can use buildout (very recomended)
We are planning to move over our project management to Redmine and also our Git repositories from Github to Redmine. Are there any potential hazards or drawbacks we should consider? We are a growing team. We will be using these across cross functional teams. Members will range from 20 to 60 or more (in all teams).
I can only suggest you look at this list of issues on the Redmine project's site - naturally, they use Redmine to track them.
We have been using Redmine for a year now (although not with git), we have about 15 users, and have not experienced any issues with it.
If you are concerned about stability, it might be an idea to use an older version with no known serious bugs, rather than the latest version.
I have customized Redmine for our team here. It is a great piece of Software with some really useful and agile-focused plug-ins. We use Redmine Backlogs, stuff-to-do plugins which are great. I was wondering if anyone was successful in setting multiple repositories in a single project? I know that I can create a sub-project and set up a different repo. But there could be cases where there is a need to have more than one repos in the 'Repository' tab of Redmine(For example code might be in development environment initially and then moved to staging and production and so need for two repos for a project) and also to get the issues associated with the commit messages. That is one of the drawbacks for some people.
This could get mandatory if you have a pre-commit hook to refer to issue numbers.