As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm interested in recommended best practices when entities customizations are required on Dynamics CRM 2011. Microsoft recommends to modify built-in entities instead of creating new ones, but I'm concerned about forward compatibility in future upgrades, using this approach.
What are recommended best practices:
Customize built-in entities
Create new independent-system entities
It depends on what you want you're doing Lester. The reason they recommend using a built in entity is that you don't have to create it, define it, create the views, create the form, or anything. That's all done for you. If you need to keep track of an individual's address and other personal information, use the contact entity. Add the fields you need. Hide the ones you don't.
If you need to do something that isn't really supported by any of the built in entities, by all means, create your own. Just remember you'll need to define the icons, views, forms, and security for it.
It really depends on what you are attempting to create.
If you need a contact record then in the large majority of cases you will utilize the contact entity and customize as appropriate. On the other hand, if I needed to do grant management I'm unlikely to just extend an existing entity - instead I'll create the Grant entity and the appropriate related entities as custom entities. Yes, you might be able to reuse some of the existing to accomplish your goals but there is really no good reason to do so, and you run the risk of not being able to use customized built-in entity should you need it for its intended purpose in the future.
So the quick take away is to ask yourself this question: Based on the requirements do I have a natural fit to an existing entity? (i.e., this solution has order management it should fit with the order entity, etc.)
If no, build a custom entity.
If yes, ask yourself the next question: Is the business logic I'm implementing inline with how CRM works OOTB? If yes, use built-in entity and customize. If no, build a custom entity.
Hope that helps - there is no great binary decision. A lot of it is based on preference and experience along with an understanding of how the solution will evolve over time.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I think this one might get shut down, but hopefully I can get some meaningful responses if it does.
My employer is about to upgrade our WSS 3.0 Intranet site with SharePoint 2013 Standard. I have trawled Stack Overflow for SharePoint positives and negatives and I must admit that I saw a LOT of people negative towards it because it is needlessly complicated to work with and modify. Many of these were related to 2007 though, but I still saw them with 2010.
Are there many people who have used 2013 in a production environment and have feedback about how the product has grown over the past few iterations as far as front end usability and back end expandability goes? Is SharePoint's current version ready for the average business who do not have teams of developers to modify it?
First, decide if you really need all that sharepoint has to offer beyond the ability to store and retrieve documents on a central server.
If you need any of the following:
Create online applications, self-serve forms.
Use it as your company intranet.
Integration with anything that is not an Office product or .NET friendly.
Then you will need specialized support - or at least dedicate a person to train and develop on it. Also consider the cost implications of supporting it in the long term; check with your organization if they have an enterprise agreement which will help offset some of the costs.
The best option if you want to use sharepoint is to have Microsoft run it for you. This way you can do a fair evaluation before you decide to commit to it.
From a usability perspective - it is by far the most user friendly thanks to it built-in integration with Office. This is perhaps its best killer feature, and one that every sharepoint competitor tries to emulate.
The web interface was also greatly improved in 2013, however keep in mind that most of the features are Internet Explorer 8+ specific. This might run afoul of your corporate policies.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am a recent graduate and got a job as a junior SharePoint developer few months ago. For the last few months, I have been working on SharePoint development, e.g. webparts, .Net Forms, K2, Lists, Features, for Moss and a little bit for SharePoint 2010 as well...
Now because I made a future plan to become a SharePoint architect, I am not sure what way I need to follow to become what I want to, As there are so many things to learn in SharePoint, I am looking for Book or a series of Book that will help me gain knowledge as a SharePoint Architect has.
I am a bit confused with SharePoint architecture as well, like If I want to develop a new SharePoint Solution, What hardware e.g. Servers, Do I need + Software, e.g. We use .Net Forms, but are they better then using Info-Path forms ?
Thanks (I know its not a Coding question but I think its somehow related to Programming so please dont close it.. Cheers)
There is a huge amount to learn in order to "become" an architect for SharePoint. Do not forget that you will need to learn how the SharePoint content database works, especially how documents are stored. You will also need to figure out the infrastructure part of the equation, especially how virtualised environments will affect server performance.
Essentially, there is not enough space to list all the books that could be useful.
You have set yourself a long term task, so go hard with the curiosity. Whenever you run across a subject that you do not know the details of, hit google and find out.
For example, the difference between .NET forms and Info path forms maybe available in a book, but you are going to learn more quickly and thoroughly by creating some Infopath forms and having a look at how both are implemented.
There is no real shortcut around the hard graft required to learn SharePoint (except perhaps finding someone who already is good at this and learning from them directly).
A free ebook downlodable from msdn :
Developing Applications for SharePoint 2010
http://msdn.microsoft.com/en-us/library/ff770300.aspx
It's a good starting point.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are the best practices for securing a coldfusion webpage from malicious users? (including, but not limited to, sql injection attacks)
Is cfqueryparam enough?
I use a modified portcullis, and filter all incoming var scopes (URL,FORM,COOKIE) onRequestStart.
http://portcullis.riaforge.org/
Pete Freitag has an awesome blog, especially this post on Hardening ColdFusion
Never trust the client.
The most ColdFusion specific "set and forget" is following server administrator hardening guidelines noted above, keeping the server up-to-date, and following ColdFusion on twitter to learn about any new issues immediately.
For app security, which is common across all languages, you should validate every piece of information that touches your server from the client. Forms are are obvious areas of tight control, but don't forget about URL parameters that you might use for application state management or control. Something like &startRow=10&tag=security which isn't "supposed" to be touched by the user is user input. Even if your application could never break with invalid data, you might not know how that data will be used in the future. Validation could be as simple as ensuring that someone isn't entering a 100 character long first name and doesn't contain programming characters or ensuring that &startRow is always a number. These are the little things that application developers sometimes skip because everything works OK as long as you are using the software as expected.
I believe you can look at the Sony Playstation hacking as an example. Unfortunately, they didn't expect someone to hack the client (playstation console) and manipulate the PlayStation console software to hack the server. The server trusted the client.
Never trust the client.
I would say best practices for ColdFusion are similar to those for programming web applications in any language.
I recently read Essential PHP Security Chris Shiflett and the majority of issues discussed affect ColdFusion as well, though the syntax for dealing with them may be slightly different. I expect there are other (possibly better) language agnostic books which contain principles which can easily be altered for use in ColdFusion.
Although using a prebuilt solution will work, I recommend knowing all the possible issues that must be protected. Check out Hack Proofing ColdFusion at Amazon.
Another great place to learn about security (and all kinds of other topics) is to check out Charlie Arehart's massive list of recorded user group presentations: http://www.carehart.org/ugtv/
Here is information on a good tool that can be used to prevent XSS.
https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project
http://www.petefreitag.com/item/760.cfm
Fairly easy to implement and Java based.
I recommend you the excellent talk by Justin McLean "ColdFusion Security and
Risk Management". It includes a case study.
PDF presentation http://cdn.classsoftware.com/talks/CFMeetupSecurity.pdf
Video streaming: http://experts.adobeconnect.com/p22718297
CfQueryParam is very important, but not nearly enough.
There is a boxed solution we use at my work: http://foundeo.com/security/. It covers most of the bases. And even if you don't want to buy it, you can take a look at it's feature set and get an idea of the things you should be considering.
You may like to check -
http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSe61e35da8d3185183e145c0d1353e31f559-8000.html
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We're looking for a CMS that we can use as the basis for a new product we're rolling out.
As it's principally a content based thing, we need to base everything on a CMS, but there's a few things we need:
As we're supporting tens - hundreds of users, we ideally need a multi-tenant CMS (single shared code base), that can support different designs per site
As we're selling in functionality, we need something that will let us deploy a new 'module' and switch it on/off on a per site basis
We prefer stuff that is open source (PHP or Rails, that sort of thing)
Before I consider building something, is there anything out there that's any good?
Now I am biased, but dotCMS 1.9 is a flexible open source solution (java) that was designed to make running tens or hundreds of sites within a single instance easy. You can create site "templates" and use them again and again as needed them. Sites can share content, assets and templates, or not share anything depending on how you set them up. Users can have access to manage one site or many sites - their views into the management tool are limited by their permissions (as you'd expect). Again, I obviously am biased as I work for the company, but this is exactly the problem that dotCMS 1.9 was designed to solve.
Plone sounds like it'd do what you want.
It's written in Python, on top of Zope, and supports multiple distinct sites (with distinct and/or shared users, groups, styling). Extra functionality is added through 'products'; there are a number of Free extensions and it's quite easy to write your own too.
We use http://www.alfresco.com/ ...seems to fit your definition . Different designs per site can be achieved with what they call "web scripts" . It supports deployment and branching infrastructure that you can leverage to for your different clients
As we're supporting tens - hundreds of users, we ideally need a multi-tenant CMS (single shared code base), that can support different designs per site
My first thought when I read that was WordpressMU (perhaps with Buddypress if you need groups, etc?), but it might not be "CMS" enough for your needs... you don't elaborate on which features of a CMS you are looking for (media management, workflows, etc), so it's a bit hard to recommend one.
DotNetNuke supports multi-tenant operation, and has a fairly active marketplace for add on modules, skins etc. It has pretty well defined module development interfaces as well.
Yanel is a Java/XML/XSLT based CMS (Apache 2.0 license) designed for multi-tenancy and one can run arbitrary many sites inside the same Yanel instance, whereas see in particular the documentation on 'realms'.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
This is really a question for the 7400 people (!) at the SharePoint Conference 2009. Of all the new features and improvements in SharePoint 2010, which one (or area or feature set) do you think will have the biggest impact on the world of SharePoint development?
I haven't had a chance to do anything with it yet, but the new BDC (Business Data Catalog), the BCS (Business Connectivity Services), looks really promising - and something that people may actually use as more than a last resort this time around.
Edit: Now that I have had the time to play with the BCS - I can tell you that it is a HUGE improvement over the BDC in terms of both flexibility and ease of use - it is going to be the center of a ton of big-business custom development work to come.
Development support on Win 7 / WS08R2
You no longer have to do your development on Windows Server. You can use Win 7, Vista, or WS08R2.
It may sound stupid, but I would say sound compatibility with Firefox is the comforting thing to know. It not because I am a big fan of Firefox, but it shows a big step of MS towards openness.
For me? The fact that I can now publish my access applications to the web. Here is a video of me playing with ms-access, and about half way through this short demo I switch over to running the application in a browser. I tested this in FireFox, and it also runs 100% perfect...
http://www.youtube.com/watch?v=AU4mH0jPntI
I liked the BDC but was disappointed at the lack of tools to quickly bring an existing SPList from another site or site collection in as a external list. It can be done, but it is a very manual tedious process. I would have liked to see a point and proxy sort of API.
Having lived through some SharePoint application upgrade disasters, I would say that I am very favorable to the new Feature Versioning and Feature Upgrade capabilities. The ability to define an upgrade path for content types and lists as well as move existing file URL's is great. With the new event and FeatureUpgrading method on the SPFeatureReceiver you can do just about anything in upgrade.
More on the Feature Upgrade...
I have been playing with Business Conectivity Services and i'm very impressed. this is the tool that will make sharepoint the bridge in a business.
Out of the box Global Navigation Components no longer use tables. I know it's really not way up there on the list of improvements, but I was super excited when I read this.
SharePoint 2010 Changes in Rendering
2 biggest improvements:
1 - Dev tools support - You can throw away WSPBuilder, SharePoint Manager, and all the other hodge-podge tools you used to develop SharePoint Solutions.
2 - Taxonomy/MetaData - You can add a metadata column to any content type and query that information accross farms. Leverages the new service application infrastructure which gets rid of SSP's