How to create hierarchy of projects in MS Project Server PWA? - hierarchy

I need to create a hierarchy of projects as well as projects access rights within MS-PWA.
the idea is to have a "Corporate Project" , of which underneath it resides our R&D, Finance, Marketing projects.
Restricitions off course should apply per project (some will have access to the root project - while others only access to their specific projects (sales people, marketing dept, etc.)
Is it possible to create such Hierarchy in MS-Project Server 2010 PWA?

Answer to your question is: No, you cannot insert project into another project using PWA, you cannot define cross project links using PWA. This can be done only using Project Pro.
And btw we also started with the same idea: to have a master project and manage security on a level of sub projects. That idea failed because it took too long to open the master - Project Pro opens all subproject together with master to update progress; another problem was high integration of the subprojects - too many cross project links.
One of reasons why you may want to create such structure is to see a progress of the whole company using data from departmental subprojects. Here is another problem - only Project Pro can update status of the master.
I would recommend to create a view(s) in PWA just to see all of the projects grouped somehow together - this will be easier and faster.

Related

BigQuery GA360 linked dataset not in a project

We have a Google Analytics 360 link to BigQuery, but the ga_sessions_* tables are showing up in a new project that is in between the selected project and the Public Datasets. This new project has the name of the project ID instead of the GCP project name as usual. Like below (details changed);
We cannot create any new datasets in this new project and it is not visible to us in Data Studio (even though we have the necessary credentials).
Normally, a project allows you to create a dataset:
But with this project there are no such options:
If anyone could shed some light on this situation it would be great. We would really like to create more datasets in our project.
ps. I was also not able to query this GA360 project until I entered a billing account into my own personal project which is not related to this GA360 project.
I think the problem is that you are trying to interact with the project ("project-id-182938") from the display panel, and not as the project actually selected in BigQuery.
Make it the selected project by switching to it:
Then you should all the options appear normally (as long as you have the right permissions as you say you do).

How to reference code in website

My code is divided into websites, one for each module (in TFS). Also, I have some application level code (like loginpage.aspx, webconfig.xml, Configuration.xml, Common.css, Logo.gif, masterpage.js, mainmaster.master, mainmaster.master.cs, etc) which is common for all module level websites. Is there a way I can reference the common application level files in each module level website. I want to avoid multiple copies of the application level code, by using a reference or some other mechanism.
The best way to handle this kind of shared code is in your solution-structure, so TFS can stay straightforward and your common code is not duplicated localy either.
So try to make the common-code shared by creating a project that provide baseclasses where the other projcets (the websites) can build on.

How to take reference from crystal report project to Main project

In my project we are using many crystal reports files(rpt), when we are compiling my application showing error like No disk space error so now i want to divide crystal reports into separate project.
How can i do this as separate project , when how can i take a reference in main project.
Although I have not separated out my Crystal Reports from any of my projects it does appear doable according to this SO thread.
To do this you would create a new solution. Then create one project for CR reporting and add your exisiting one that contains your business logic. You can then reference your reporting project within your business logic project.
hmk - Please let me know if this works as I might have to do this myself in the near future!

Windows symbolic link ASP.NET app repository

We are hosting huge app for our cutomers. There are diffrent configuration and contents (images, user files). But the core code, directories structure, databse scheme is this same for every client.
I'm looking for a way to create one core code repository, so all clientes will use it. We do updates often, so this will make our live easyer.
The idea is to create the repo and In clients directories create just symbolic links to that repo direcories: bin, App_Resources, Css, SystemImages etc.
Is this a good idea? Will ASP.NET MVC app handle this correctly, or I've to add some code for it handle the 'virtual direcotories'?
I would suggest that you take a look Single-tenant and Multi-tenant applications even if you say that your code base is the same for every one.
Here is a nice Multi-Tenancy ASP.NET example
I would also suggest that you check http://appHarbour.com as you can easily push changes from your master repository to appHarbour using Git or Mercurial.
Regarding your exact question, I also keep static files in a custom scheme under Amazon S3, so each client can upload there own files, plus the ones I have and all is based on a single location that does not put more resources just to delivery static files.
You can see my live web application using this technique checking the View Source.

How do I share user controls between web applications in ASP.NET?

This question is a follow up to my question about sharing resources between web applications, because I have not yet found a good solution.
I have a web application with user controls and resources that are shared by three other web applications.
Solution
|
+-CommonControlsWebApp
| +- resources
| | +- images
| | +- scripts
| | +- stylesheets
| +- UserControls
|
+-WebApp1
|
+-WebApp2
|
+-WebApp3
This is what I know this far:
I can not compile CommonControlsWebApp into a single dll since I am creating user controls. This is only possible with custom server controls, where everything is in the code-behind file. So I need a way to share the ascx files between the four projects.
Copying the files from CommonControlsWebApp into the three other projects does not update their files in the solution explorer. I would have to 'add exting items' all in all three WebApps when a file is added or renamed in CommonControls.
Changing to the Web Site model would remedy this, but I am worried about the compile time for WebApp1-3 if I do this.
'Add as link' does not work for directories.
I could use Subversion to share the files between the projects, but i believe that this would require me to check the files in and out again all the time if I am developing a user control that I have to test through one of the WebApps.
Can it really be true that ASP.NET does not have a good solution for this? How are you guys organizing large web applications?
Edit: Thanks a lot for all the answers. I am going to copy my user controls with a build event for now, and then see if we have time to refactor them into server controls.
The way we do it at my present company is to make sure CommonControlsWebApp
is a WebApplication, not a web site. Then you use names for the folders that would help identify it as the common ones that are distinct from the individual web apps. (CommonUserControls instead of just UserControls)
In your other web apps, you create a virtual directory to the CommonUserControls, etc, and add a file based reference to the CommonControlsWebApp.dll
This requires you to use IIS for development (not casini), and Visual Studio won't believe that the controls really exist, but it will work at runtime, and you can build just fine with only warnings about blahblah.ascx or blahblah.master path invalid.
If you do use common master pages and Visual Studio 2008, you will need SP1 for 2008 and use a __fallback.master in the root of the individual web projects to go in to design mode.
However, I saw this on another thread, and I am going to look into doing more like this:
http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx
You could compile it into a dll
Turning an .ascx User Control into a Redistributable Custom Control
Brief Outline of the Steps
The basic steps to make this happen
are as follows:
Write your user control as you normally would, typically using the
Visual Studio designer.
Test it using a simple page before trying to deploy it.
Deploy the application to precompile it.
Grab the user control's assembly produced by the deployment step, and
you're essentially done: You have your
custom control.
Finally, use your custom control in other apps
Further info here http://www.nathanblevins.com/Articles/Compile-a-Web-User-Control-into-a-DLL-.Net-c-.aspx
In order to share controls between web apps, the only way I found was to either rewrite them into server controls or to use virtual directory to make the user controls actually in folder be in each project.
Unfortunately, asp.net doesn't really have a good solution for this. The same is true for sharing master pages.
You might consider using source control and sharing your controls at that level. We do this for a sizable user control library and it works quite well.
Using SourceGear Vault but you should be able to do this with any source control product.
Check this post for how to solve this issue.
The basic idea is to change your project to have a prebuild step to copy over the .ascx files to a subdirectory of the web application. Then just refer to those copies when using them. Of course you also need to reference the UserControls assembly as well.
One option is to try "Add existing" and in the dialog that appears, the OK button has a drop arrow next to it, change it to Add with a link.
If that doesn't work, rewrite your controls as Custom Controls.
It will take a little while, but will make it much more maintainable in the future.
hey this is not the best way to do things but i used to do this in my asp.net 1.1 days - you can try this - shift your user controls into a seperate project, and publish this project as a virtual directory under iis
as long as you are not using codebehind - your updates would be cool (only update shared user control folder)
if you do use codebehinds - redeploy the user control dlls into different projects
once you are done with this - map these user controls into all projects using their virtual paths
check these links - http://aspadvice.com/blogs/ssmith/archive/2006/10/05/Tip_3A00_-Share-User-Controls-Between-Applications-in-ASP.NET.aspx
AND
http://www.123aspx.com/redir.aspx?res=30887

Resources