cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JasonSealy
Helper I
Helper I

General Dataverse Advice

So I am in charge of setting up a database in Dataverse. Over the last several weeks I have been researching, migrating data to Dataverse, and configuring the database. I have learnt lots through this time but I have some high-level questions that I have not been able to find answers too (mainly because my questions are situation specific) and I need advice. If you have any input on any of the following questions it would be greatly appreciated.

 

Context: I am working for a small engineering firm whose primary purpose in converting to Dataverse is to use the quick low-code features in Power Apps to quickly create applications that can speed up the current paper processes. I am in a Computer Science Intern position and will be leaving the company for school in early August. I want to leave the company with a good frame work for them to build from where I left off (there will not be someone replacing my position and I will be training co-workers before I leave who do not have a background in software development). I will be making a high-level and company specific "software development manual" so co-workers can refer to it if they need help.

 

Questions:

1. Application lifecycle management (ALM). Within Dataverse there is environment and solution strategies to initiate a ALM system. Is this overkill to start with? I don't think the company would need ALM for the next 12 months but I don't want to start Dataverse on the wrong foot and be a pain down the road to have to switch everything to work with ALM. Currently I have decided to set-up a single environment with a basic app in a single solution and not initiate a ALM system.

 

2. Common Data Model (CDM). Is it worth using CDM in Dataverse, from research I personally don't have much excitement for CDM. I think this is because I don't know much about it and the benefits it could bring. It personally doesn't sound like it is overly useful compared to creating custom tables. I like knowing about the data model of my entities and the CDM is confusing but maybe it is worth investing time to understand it? Currently I have decided to not use and CDM tables.

 

3. Multi-application integration. My company currently uses SharePoint for many of its file storage. We see the benefits of SharePoint for being a useful collaboration tool but were concerned about its security and scalability; hence the transition to Dataverse. However from research it seems like it may be useful to use SharePoint and Dataverse together as a team. Currently I don't have a concrete plan but was thinking that we would have photo/file storage on SharePoint and table/number storage on Dataverse. This is because from some research it seems that Dataverse storage is expensive and does not support photo/file storage as good as SharePoint. Is this a good idea? I am open to recommendations for how I should delegate what data gets stored where, or if we should eventually remove any use of SharePoint.

 

4. Where is data validation in Dataverse. One question that has been a headache to figure out and still don't feel like I know the answer too. So to my understanding, Dataverse has some basic data validation for each table using Business rules and then has better data validation for Model-Driven and Canvas apps. What I don't understand is why there isn't more focus on table validation, because if you have multiple apps with different developers using the same table, then data could be inconsistent in the table because each developer for their app could have different methods for data validation. Is there a reason for why there is better validation at the app level? ... because I don't understand why.

 

5. Invest in a full-time software/database developer? When I leave at the end of summer there will be no one who is tasked to develop the software/database for the company. It would be a shared effort between the co-workers who are not real developers. My biased opinion would be to pressure them in finding someone to replace me as soon as I leave. Nevertheless I must be cognizant that companies must make smart business decisions. So I am wondering how important it would be to have someone working full-time as a skilled software/database developer and how soon the company hire that person. Could a Dataverse system be administrated by a bunch of "citizen developers" or is that a recipe for disaster?

 

Thank you in advance, I truly appreciate any opinions or advice. I understand that this post doesn't give nearly enough answers to questions that would be raised while reading. I am more than willing to respond to additional questions in the comments below.

 

All the best,

Jason

1 ACCEPTED SOLUTION

Accepted Solutions
LinnZawWin
Multi Super User
Multi Super User

@JasonSealy 

 

1. If the company is small enough to start with ALM, I recommend you start with at least building the components (tables, apps, flows, etc.) in the solution. That's a good start that you're doing to start a basic app in a single solution. You can always set-up another environment when the project is mature enough to test in a separate environment before deploying to the live (production) environment. You might also want to explore the pipelines in Power Platform when they are ready to expand to multiple environments.

 

2. I think it would be easier to use some of the CDM entities (Contact, Account and Activities) in your system. You may re-build any of those tables as a custom table but there are some scenarios where the CDM entities are directly tied to other M365 products for integration (e.g. syncing Emails, Contacts, Tasks with Dynamics 365 App for Outlook)

 

3. As you mentioned, Dataverse file storage is expensive and it does not support features like versioning as in SharePoint (which is a useful collaboration tool for documents). As you planned, photo/file storage on SharePoint and table/number storage on Dataverse would be a good idea. I don't see any scalability issue but if you have a security concern, you can use third-party products like SharePoint Security Sync or CB Dynamics 365 to SharePoint Permissions Replicator to sync the permission between Dataverse and SharePoint.

 

4. If you set up the data validation in a Business Rule with an Entity scope, the validation will be done on the server side regardless of the source of data (entered from multiple apps). Dataverse plug-in can also be used for data validation which is complex and not achievable with Business Rules. In my opinion, if different developers are using the same table in their own apps, they should all agree on the basic data validation of the shared table rather than having different data validation for their own app. If there is any such requirement, they can have their own validation with Business Rules with a form scope for the form which is used in their own apps.

 

5. I think administrating the Dataverse system by a bunch of "citizen developers" without proper guidance from an IT could be a recipe for disaster. And I also don't think a normal software/database developer could be a perfect person for that role either. The company will need someone with Power Platform/Dynamics 365 administration/consultant experience to develop/provide proper guidance to the citizen developers. Depending on how much the company is going to invest in Power Platform as a low-code platform to build specific business apps, they may get part-time or full-time personnel as a skilled Power Platform admin/consultant probably a month or so before you leave (to have some transition and handover). Alternatively, the company can also engage with Microsoft partners (specialising in Power Platform) who offer services like empowering citizen developers, and advisory services (such as governance, app review/assessment, etc.).

 

 

View solution in original post

3 REPLIES 3
Stevieed
Super User
Super User

1, you dont need a Application lifecycle management for small firm/ small project, it will just add another layer of complexity where your company doesnt have professional program developer to fill in. just make sure everything is backed up (back up take place every 30min on dev/qa/production environment, check power apps admin centre for setting.

 

2, Dataverse is the closest thing you can get to a professional highly scalable database in the low code regime. The only downside is that it's still very amature, for example you can't have more than 10 roll up column in a table, and roll up column cannot rolling up from roll up column in child table, and the roll up column does not auto refresh, it will only refresh every 30min minimum and you need to set it up. What is a roll up column? it just basically a =sum() column in excel. This brings a lot of limitation to many many business operation. To overcome this, you will need to write code or use power automate to write logic to sum the child table data into parent table, and it can be very complicated. 

 

3 you can store data in dataverse and related photos / document in sharepoint, check out topic about "dataverse sharepoint integration". however it may not be ideal as you think. If a company use sharepoint for a long time, they will most certainly have their own folder structure to store items, but dataverse has it's own sharepoint file structure, for example, it will name a folder as "u141ol-23o1iyg-321414-1234oh21" and store the related files there, which makes completely no sense to regular user, and I currently still don't see a way to change this. I decide to just pay for the dataverse file storage, as it's actually not too expansive, if you just storing documents. If you trying to store photos / video, then you are in trouble.

 

On another note, dataverse can interact with sharepoint very well with power automate, but to set this up you need to have knowledge in power automate. It will likely to take 1 month to learn it, as a lot of argument used in power automate dataverse connector are very implicit (such as Odata quary syntax, fetchXML syntax, etc, dataverse use different syntax all over the place, also some field names are completely different and not visible unless you use tool such as level up for dynamic 365, etc etc)

 

5, leaving dataverse / power app to non professionals is a disaster. they dont need full time developer, just get a part time dev to carry on your job when you left

LinnZawWin
Multi Super User
Multi Super User

@JasonSealy 

 

1. If the company is small enough to start with ALM, I recommend you start with at least building the components (tables, apps, flows, etc.) in the solution. That's a good start that you're doing to start a basic app in a single solution. You can always set-up another environment when the project is mature enough to test in a separate environment before deploying to the live (production) environment. You might also want to explore the pipelines in Power Platform when they are ready to expand to multiple environments.

 

2. I think it would be easier to use some of the CDM entities (Contact, Account and Activities) in your system. You may re-build any of those tables as a custom table but there are some scenarios where the CDM entities are directly tied to other M365 products for integration (e.g. syncing Emails, Contacts, Tasks with Dynamics 365 App for Outlook)

 

3. As you mentioned, Dataverse file storage is expensive and it does not support features like versioning as in SharePoint (which is a useful collaboration tool for documents). As you planned, photo/file storage on SharePoint and table/number storage on Dataverse would be a good idea. I don't see any scalability issue but if you have a security concern, you can use third-party products like SharePoint Security Sync or CB Dynamics 365 to SharePoint Permissions Replicator to sync the permission between Dataverse and SharePoint.

 

4. If you set up the data validation in a Business Rule with an Entity scope, the validation will be done on the server side regardless of the source of data (entered from multiple apps). Dataverse plug-in can also be used for data validation which is complex and not achievable with Business Rules. In my opinion, if different developers are using the same table in their own apps, they should all agree on the basic data validation of the shared table rather than having different data validation for their own app. If there is any such requirement, they can have their own validation with Business Rules with a form scope for the form which is used in their own apps.

 

5. I think administrating the Dataverse system by a bunch of "citizen developers" without proper guidance from an IT could be a recipe for disaster. And I also don't think a normal software/database developer could be a perfect person for that role either. The company will need someone with Power Platform/Dynamics 365 administration/consultant experience to develop/provide proper guidance to the citizen developers. Depending on how much the company is going to invest in Power Platform as a low-code platform to build specific business apps, they may get part-time or full-time personnel as a skilled Power Platform admin/consultant probably a month or so before you leave (to have some transition and handover). Alternatively, the company can also engage with Microsoft partners (specialising in Power Platform) who offer services like empowering citizen developers, and advisory services (such as governance, app review/assessment, etc.).

 

 

JasonSealy
Helper I
Helper I

Thank you @LinnZawWin, I appreciate the help! Best of luck to you!

Helpful resources

Announcements

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Tuesday Tip: Community User Groups

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: Community User Groups and YOU Being part of, starting, or leading a User Group can have many great benefits for our community members who want to learn, share, and connect with others who are interested in the Microsoft Power Platform and the low-code revolution.   When you are part of a User Group, you discover amazing connections, learn incredible things, and build your skills. Some User Groups work in the virtual space, but many meet in physical locations, meaning you have several options when it comes to building community with people who are learning and growing together!   Some of the benefits of our Community User Groups are: Network with like-minded peers and product experts, and get in front of potential employers and clients.Learn from industry experts and influencers and make your own solutions more successful.Access exclusive community space, resources, tools, and support from Microsoft.Collaborate on projects, share best practices, and empower each other. These are just a few of the reasons why our community members love their User Groups. Don't wait. Get involved with (or maybe even start) a User Group today--just follow the tips below to get started.For current or new User Group leaders, all the information you need is here: User Group Leader Get Started GuideOnce you've kicked off your User Group, find the resources you need:  Community User Group ExperienceHave questions about our Community User Groups? Let us know! We are here to help you!

Super User of the Month | Ahmed Salih

We're thrilled to announce that Ahmed Salih is our Super User of the Month for April 2024. Ahmed has been one of our most active Super Users this year--in fact, he kicked off the year in our Community with this great video reminder of why being a Super User has been so important to him!   Ahmed is the Senior Power Platform Architect at Saint Jude's Children's Research Hospital in Memphis. He's been a Super User for two seasons and is also a Microsoft MVP! He's celebrating his 3rd year being active in the Community--and he's received more than 500 kudos while authoring nearly 300 solutions. Ahmed's contributions to the Super User in Training program has been invaluable, with his most recent session with SUIT highlighting an incredible amount of best practices and tips that have helped him achieve his success.   Ahmed's infectious enthusiasm and boundless energy are a key reason why so many Community members appreciate how he brings his personality--and expertise--to every interaction. With all the solutions he provides, his willingness to help the Community learn more about Power Platform, and his sheer joy in life, we are pleased to celebrate Ahmed and all his contributions! You can find him in the Community and on LinkedIn. Congratulations, Ahmed--thank you for being a SUPER user!  

Tuesday Tip: Getting Started with Private Messages & Macros

Welcome to TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   This Week's Tip: Private Messaging & Macros in Power Apps Community   Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member!   Our Knowledge Base article about private messaging and macros is the best place to find out more. Check it out today and discover some key tips and tricks when it comes to messages and macros:   Private Messaging: Learn how to enable private messages in your community profile and ensure you’re connected with other community membersMacros Explained: Discover the convenience of macros—prewritten text snippets that save time when posting in forums or sending private messagesCreating Macros: Follow simple steps to create your own macros for efficient communication within the Power Apps CommunityUsage Guide: Understand how to apply macros in posts and private messages, enhancing your interaction with the Community For detailed instructions and more information, visit the full page in your community today:Power Apps: Enabling Private Messaging & How to Use Macros (Power Apps)Power Automate: Enabling Private Messaging & How to Use Macros (Power Automate)  Copilot Studio: Enabling Private Messaging &How to Use Macros (Copilot Studio) Power Pages: Enabling Private Messaging & How to Use Macros (Power Pages)

April 4th Copilot Studio Coffee Chat | Recording Now Available

Did you miss the Copilot Studio Coffee Chat on April 4th? This exciting and informative session with Dewain Robinson and Gary Pretty is now available to watch in our Community Galleries!   This AMA discussed how Copilot Studio is using the conversational AI-powered technology to aid and assist in the building of chatbots. Dewain is a Principal Program Manager with Copilot Studio. Gary is a Principal Program Manager with Copilot Studio and Conversational AI. Both of them had great insights to share with the community and answered some very interesting questions!     As part of our ongoing Coffee Chat AMA series, this engaging session gives the Community the unique opportunity to learn more about the latest Power Platform Copilot plans, where we’ll focus, and gain insight into upcoming features. We’re looking forward to hearing from the community at the next AMA, so hang on to your questions!   Watch the recording in the Gallery today: April 4th Copilot Studio Coffee Chat AMA

Tuesday Tip: Subscriptions & Notifications

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week: All About Subscriptions & Notifications We don't want you to a miss a thing in the Community! The best way to make sure you know what's going on in the News & Announcements, to blogs you follow, or forums and galleries you're interested in is to subscribe! These subscriptions ensure you receive automated messages about the most recent posts and replies. Even better, there are multiple ways you can subscribe to content and boards in the community! (Please note: if you have created an AAD (Azure Active Directory) account you won't be able to receive e-mail notifications.)   Subscribing to a Category  When you're looking at the entire category, select from the Options drop down and choose Subscribe.     You can then choose to Subscribe to all of the boards or select only the boards you want to receive notifications. When you're satisfied with your choices, click Save.   Subscribing to a Topic You can also subscribe to a single topic by clicking Subscribe from the Options drop down menu, while you are viewing the topic or in the General board overview, respectively.     Subscribing to a Label Find the labels at the bottom left of a post.From a particular post with a label, click on the label to filter by that label. This opens a window containing a list of posts with the label you have selected. Click Subscribe.           Note: You can only subscribe to a label at the board level. If you subscribe to a label named 'Copilot' at board #1, it will not automatically subscribe you to an identically named label at board #2. You will have to subscribe twice, once at each board.   Bookmarks Just like you can subscribe to topics and categories, you can also bookmark topics and boards from the same menus! Simply go to the Topic Options drop down menu to bookmark a topic or the Options drop down to bookmark a board. The difference between subscribing and bookmarking is that subscriptions provide you with notifications, whereas bookmarks provide you a static way of easily accessing your favorite boards from the My subscriptions area.   Managing & Viewing Your Subscriptions & Bookmarks To manage your subscriptions, click on your avatar and select My subscriptions from the drop-down menu.     From the Subscriptions & Notifications tab, you can manage your subscriptions, including your e-mail subscription options, your bookmarks, your notification settings, and your email notification format.     You can see a list of all your subscriptions and bookmarks and choose which ones to delete, either individually or in bulk, by checking multiple boxes.     A Note on Following Friends on Mobile Adding someone as a friend or selecting Follow in the mobile view does not allow you to subscribe to their activity feed. You will merely be able to see your friends’ biography, other personal information, or online status, and send messages more quickly by choosing who to send the message to from a list, as opposed to having to search by username.

Users online (2,782)