How do Padrino sub apps work? - rack

OK, so let's say I have two different projects. Each are are related categorically, but different databases and such.
Example (projects):
Project Management
Help Desk Management
A user could be a member of either project (or both). But I want to be able to tie them together. So that either could be stand alone. Or, a help desk ticket could be tied to a project, etc.
I would have one user base.
So, how would I structure this? Would users be a sub-app of both? Would I have some type of "launcher" app that would contain these as two sub-apps?
Like:
Launcher App
Projects
Help Desk
Users

Related

Azure DevOps - organizing projects and repositories

(Posting the question here as this is the 'community' that Microsoft redirects to with a 'Need advice? Ask community' button. Hope it won't get closed as 'primarily opinion based' or 'too broad')
Hello,
I want to start using AzureDevops in my department for organizing code & work. We're a small team who creates a large number of applications & plugins.
Some of these applications have a very short lifecycle, i.e. we deliver them, and they work for years without changes. Other apps are larger and are updated/fixed across several months or years.
These applications are completely separate from each other in all aspects.
As far as I understand Azure DevOps structure, my department should become an 'Organization' (we can/need to be separate from the rest of the corporation).
I am a bit puzzled about the 'Project' part. Documentation says
In general, we recommend that you use a single project to support your organization or enterprise.
So, let's say we do have one project called Our Apps - where do we then put all the individual application-projects?
As far as I understand, each product (application) that we deliver should have it's own repository (or a set of applications, if they are logically connected).
This is in order to allow a developer to simply clone the repo on their machine and contribute to that product only - without downloading other projects etc.
I need to be able to:
easily navigate/see all the tens/(hundreds?) of applications that we create,
view their separate kanban boards (for those project that do have it, not all of them will)
to see their repositories (Git or TFS), commits etc
see & manage their pipelines
At the moment it seems to me that the only place where I can see a 'list' of what products do we have is the drop down below:
And the only way to see what is going on in the big-enough-to-get-own-board products is by creating a new separate 'SomeApp Team' in the Project (even though same people are in it), so that I can have a board for the SomeApp - and view the boards from here:
Is that the intended way to organize the structure?
Any alternative approaches?
Is there any way to have a 'cross-reposistory' or 'cross-team' overview?
What about creating documentation for each 'product'?
The "one project to rule them all" was coined by Martin Hinshelwood and his blog post from way-back-when explains the reasons and limitations.
With the introduction of Tagging and filtering on the backlog there is an alternative approach within the one-project setup.
Create team for the real teams you have in your organisation.
Create an area path for each major project/product in the org.
Assign the area paths of the projects to the teams who are working on them. This can change over time.
Optionally tag work items with the major project/product for additional filtering.
This way each team sees a complete view of all the work they can pull from. And they can quickly filter the work by tags to remove items from view when discussing specific projects/products.
Also, when teams change their focus from one product/project to another, you can simply change the assigned areas for that team to update their view.
The Plan View extension provides an additional cross-team view across over all the work. And the Dependency Tracker extension can visualize dependencies over time.
You can also use the Epic/Feature/PBI|UserStory tree structure to create additional grouping in your work items. You can customize the process template to introduce a Product level, though for the planning features to work, that would also mean that you'd also have to create full traceability from Product down to PBI|UserStory.
The main recommendation is to try a few of these approaches in a light-weight manner to see how they work and find your own ideal setup.
Another option for cross project visualization is to enable the Analytics Extension and connect it to PowerBI.
As you'll soon figure out, naming guidelines for your Tags, Repositories, Pipelines is going to be very important. Being able to quickly filter to the right level requires this.

Visual Studio Team Services: Is there a way to grant global read permissions?

I've been through all the permissions you can grant to groups at the collection level (https://[account].visualstudio.com/_admin/_security), but don't see any permission that looks like it'd control the ability to read/admin all the projects in the collection. I don't even see any inheritance that's giving the "Project Collection Administrators" group admin rights over the projects, which is making me afraid that it's just 'magic' that I can't customize.
Any thoughts on what I'm missing here?
Expected this to be a snap once I figured out how to let non-admins create projects (yeah, it's really that easy). I've got to be missing something here.
No, read/admin permission can’t be granted globally for all projects. You should set permissions for different projects separately.
For a project security setting (https://account.visualstudio.com/projectname/_admin/_security), you can add users who’s permission is read in reader group.
As with most systems if you find something hard then you are probably using it wrong.
https://nkdagility.com/one-team-project/
The majority of your users should be spending the majority of their time in a single Team Project. The Team Project boundary isna hard one to cross and flipping between team projects is a pain. Fpr most organisation and most product teams one Team Project is all you need.
I need way more info to be sure, but your question implies to me that you have a whole bunch of team projects that the sake group of users need access to. This makes it a pain to manage security and you want to create server level groups to manage this. Now while the Product Team are working hard to address things like this it will take time to make the underlying changes that would enable it.
In the mean time you should look to merge all of your Team Projects into one (or logical groups based on people/product/assets that allow users to access as few team projects as posible.
As an example the Office, Windows, Xbox, and VSTS teams at Microsoft's all have one team project each. Even though they have multiple projects, teams, and products under each.
As a rule of thumb: If you have assets that interact then they should all be in one team project. I defign assets as people, code, or work items.

Multiple application directories in FuelPHP

For the last couple of years, I've been developing a web application based on CodeIgniter. CI has served me well to date, but for the next generation of the software, I'm looking to move to PHP 5.3 and a more robust framework. I've watched FuelPHP since it showed up about a year ago and now that I'm getting to the point of starting the development of the next version of the application in earnest, I'm interested in giving FuelPHP a go.
My application relies on the use of multiple application directories. Essentially, there's a system application which has the system's core functionality, code that shouldn't be touched by admins because it'll be changed during updates. In addition, there's a user application directory where admins can extend and override system classes. This way, admins can customize the system without ever touching the system core (thus insulating them from losing their modifications when the system is updated). When a request comes in from the URL, I want the system to first check the user application directory. If it doesn't find the controller there, move on to the system application directory (where, in theory, it should find the file) and use that controller.
I don't want to make the mistake of approaching this problem from a CI or Kohana mindset, so what I'm wondering is what's the best way to go about doing this in FuelPHP? Since I don't have much experience with FuelPHP, I was hoping someone might be able to give me some pointers or shove me in the right direction.
Thanks!
FuelPHP has an 'app' folder that you can consider the core of your application. For smaller applications, it can also contain your application code.
For larger and/or more complex applications, use modules. A module has exactly the same folder structure as 'app', but lives in it's own namespace (= the module folder name). FuelPHP supports multiple module locations, so you could have a location that contains modules you share over different websites, and modules that are specific to your website.
Without any special routing, if the first segment in the URI is a module name, controllers from that module will be loaded.

Suggestions on CMS with multi-site support

I'm looking for a CMS or similar system with the following requirements for a project I'm helping out on. The basic idea of the project is to allow users in completely separate groups to have their own communities (sites) where they can do things such as book facilities, create and vote on polls, discuss on a forum and so on.
All CMS's probably have these features, except for the multiple separate groups part. As there will likely be too many groups for our admin to handle, all group admins should be able to manage their own sites (polls, facilities, users etc.). Different sites will share the layout and design. The available "modules" are installed and made available by admins.
Does such a CMS exist, or should I start inventing my own using a framework like Django or MVC.NET? Coding extra extensions to an existing CMS won't be a problem if one which satisfies our basic needs can be found. A good extension framework is a huge plus of course.
I've used Joomla in a different project before, but it's not what this project needs.
If you have any suggestions, please point me in the right direction, thanks!
I would recommend you to check Drupal and Organic Groups module.

First web server questions

Just looking for some help/suggestions with this. I require my own server for an upcoming project that will be hosting users websites. I want to build a control panel the user can log into and modify their website which will be stored elsewhere on the server. This all seems easy enough, It's just managing domains and emails that confuse me.
What should I look for to manage domain names and point them to the correct website and also what would be the best way to manage email accounts/set up new ones etc. I want to avoid cPanel/WHM if possible, I'm looking to control most things through the control panel I will be building. So any suggestions on this would be useful as well, as I will be wanting to add email accounts through php (Can be done using a shell I assume?).
I will also be wanting to measure bandwidth used on the websites contained in each users directory, any suggestions on making this possible?
I'm really looking for some suggestions on what software to use to set this up, any advice would be really helpful!
Thanks,
Graeme
It sounds like you've got a lot of creative room. May I suggest a web framework? Django. With it you can build out a nice control panel, it's template system is clean and concise. It's also based on Python and thats why I suggest it. If there is a python module for it, you can use it in Django... so things like altering, creating, etc. local data/files is a breeze. you simply us Python (you can even forget it's "django"), crunch your data and then spit it out (into django... out to templates.. to display to the user).
You'll likely want AJAXY biznazz, their is a nice Django App for that, Dajax. Django has a rich and helpful community and tons of resources. Just hop on GitHub.com and search for Django, You'll find tons of stuff.
Im building a DNS Control Panel with it. Which sounds like a minimal version of what you're doing.