Interesting resources for Dynamics professionals from Ignite 2018

Learning never stops, never ends, never finishes

Ignite has a wealth of resources for Dynamics professional.  The problem is not having enough videos to watch, the problem is there is too many and finding the ones interesting to Dynamics professionals.

I have picked out some of the presentations that look interesting.  I haven’t watched them all but I have watched a bunch of them.

This has been really useful to see how the changes, new features and new services (PowerApps, Common data service, Logic Apps, Flows) fit into future projects.

Interesting resources for Dynamics professionals from Ignite 2018

Successful people are constantly learning

Advertisements

Change will make or break your project

“It is always easier to talk about change than to make it.” ~ Alvin Toffler

Change will make or break your project, changes can‘t be controlled your reaction can.  A fixed mindset breaks instead of bends when confronted with change.  Change is constant, some don’t adapt, others adapt enough to survive, a few use change to be successful.  The less rigid and more adaptable you are, the fewer times you get stuck.

Technology, resources, environment and tools change, it costs you time and effort to change but the cost of not changing will be higher.  What was successful in the past, might not be successful in the future.  By focusing on the past, you won’t be prepared for the future.  The past has gone and can‘t be changed but the future is yet to be defined, embrace change and improve your situation.

Code and change

The art of develop lies in the constant adjustments to change

Robust code is decoupled, ensuring it can adapt to the evolution of requirements and manage the effects of change.  Agile development leaves design decisions to as last as possible, giving more time to gather information and decide based on better understanding.

Requirements and solutions evolve, the more detail you uncover, the more feedback you receive the greater your awareness of the problem and the solution.   You can’t capture requirements up front and get a deep understanding without going through iterations of designs and problems.

Project change

A project won’t change but you can change yourself and the approach to be successful.  A project which does not adapt to the changes will fail.  We are servants of projects, they will tell you when it‘s not working.   Think about the pain points, how could this work differently.

Nothing is fixed, people, requirements, technology and politics change, be fluid, formless and adaptable.  Take a flexible approach, what was successful on previous projects might not be successful with these requirements, environments and people.  When you think requirements are certain, you risk creating brittle designs and brittle plans that will break when change happens.

It’s not if change happens but when and how you react.

Projects evolve, the design at the start is not the functionality in production.  This is because the requirements change with understanding and feedback.

Each projects rhythm is unique and the most efficient way of working different.  You have to adjust and keep improving, finding a smoother way to move functionality from requirements to production.

Conclusion

Don’t fight change and don’t wait for it to happen, embrace change and use it as an opportunity for improvement.  Change is not comfortable or easy and involves conflict but through this something better emerges.

Knowing change is coming won’t make it easier because you will need to move past the friction but it’s the only way to make progress

Hosk’s recommended Dynamics 365 and other articles October 2018

Quotes

Some solutions are so complex, only an architect could create them

There are two great days in a person’s life – the day we are born and the day we discover why. William Barclay

Articles of the Month

awesome-1

Great Dynamics 365 articles this month

Programming/Scrum

Other/Business/Leadership/Management

The Hosk – currently reading

The Hosk – last 5 recommendations

Selected  HoskWisdom

  • To a developer, every problem looks like it needs code to fix it
  • All future development roads lead through CDS, PowerApps and Flow. So start heading in that direction now
  • Architecture is where the fun is, Development is where the pain is felt
  • You have to battle with code more than once, to make it maintainable
  • You’re only as good as the code you create
  • Projects approach methodology like people approach religion, they don’t implement all of it and use the bits they like
  • Write great code if you can, refactor when possible but get the job done
  • Technology should not dictate solutions, it should enable solutions

Last months Monthly articles

Last months recommended monthly articles

Hosk’s CRM Developer Articles

A collection of my favorite CRM Developer articles I have written

Write your code, do your job, focus on the details, predict problems

You’re only as good as the code you create #HoskCodeWisdom

It’s easy to get distracted by the noise of work but it puts more pressure on yourself and your team.  If everyone focused on their role and responsibilities, doing their tasks to the best of their abilities we get more done and it will be to a higher quality.

People get distracted by

  • The internet
  • People
  • Are other people doing their job properly
  • Helping other people do their job
  • The quality of the whole code base
  • New tools, new features, new services, new everything
  • New JavaScript languages
  • Is the project going to fail
  • What is the customer doing?
  • What’s for lunch

There will be noise, distractions and under performing people but don’t add to those problems by letting them distract you.  When you become distracted, you are lowering the quality of your work by diverting time, effort and thought to something else or someone else.

Write your code

Do your job first, do it a high standard, work consistently, finish.  Focus on the details and uncover potential problems.  It’s in the details where the assumptions, logic error, design flaws you don’t see until you drill down into the task at hand.

If everyone did their job and stopped worrying or helping other people do their jobs,  process will work with greater efficiency.

Start by doing your job to the best of your abilities, write the best code you can,  so no one else has to worry.

People who make an impact at work are not just the leaders at the front but the people in the engine room, contributing code, delivering functionality in a dependable way, they are the people who reduce the noise and get it done.

What is development?

Writing good code requires solid fundamentals, working hard and focusing on the task.If each developer does this then the project progresses well and confidence builds within the team and with the customer.

Coding isn’t about flashes of brilliance, innovative designs, hero’s saving the day, it’s about team work, graft and grit.  Turning up every day and working towards the goal, one line at a time.  Wearing problems and requirements down with persistence.

Development is everyone doing the basics and pulling in the same the direction, people who get distracted and head off in another directions, pulls the project in the wrong way and slows everyone down.Get your work done and don’t add to the distractions

Related articles

 

Dynamics 365 FastTrack Architect Bootcamp training in Frankfurt

The more you learn, the further you go #HoskWisdom

One of the great things for working for Capgemini is they want individuals to grow and improve.  This means I get to go to training and events.  Early this year I went to Extreme 2018 in Dubrovnik

This week I am on the Dynamics 365 FastTrack Architect Bootcamp.  The course is run by some of the Fast Track engineers who work on Microsoft biggest projects as part of the FastTrack scheme.

Phil Hand will be presenting and I read a white paper from him which helped me create this blog post on solutions

CRM 2016 – What’s the best way to organise solutions in Microsoft Dynamics CRM  

FastTrack bootcamp is also available for Operations

What is FastTrack?

FastTrack is offered to larger customer (250 seats plus) and the FastTrack team get involved to guide the customer and partner to make sure the project is successful.

This page is offers a good overview of FastTrack and what it’s all about

FastTrack for Dynamics 365 is our customer success service designed to help you move to Dynamics 365 smoothly and confidently, so you can realize business value faster. When you participate in the FastTrack program, you will receive guidance on best practices and how to plan for successful rollouts. You will also learn ways to enable new users and expand capabilities – all at your own pace. Additionally, you will have access to Microsoft engineering resources committed to make your experience with Dynamics 365 a success.

The FastTrack offers skype sessions, workshops and regular touch-points to make sure the customer is on track.

If you are eligible for the FastTrack program then Microsoft will be involved in your project and help ensure the successful implementation of Dynamics 365 by using their FastTrack process and experience implementing Microsoft Dynamics 365.

Microsoft’s FastTrack team isn’t one or two people but many different experts.

Whats covered

It’s a 4 day intensive course, which covers most aspects of a Dynamics project

You can see the course agenda here

The highlights are

  • Dynamics 365 Online Architecture
  • ALM and Solution Release Management
  • Integration Architecture / Patterns
  • Data Migration Approaches / Patterns
  • Dynamics 365 Reporting Strategy / Architecture Patterns
  • Field Service Architecture / Best Practices
  • Project Service Architecture / Best Practices
  • Security and Data Modeling
  • Performance Optimization Best Practices
  • Unified Service Desk Architecture
  • Portal Architecture / Best Practices
  •  Microsoft Business Flow/Power App
  • Dynamics 365 Testing

Pictures of my adventure

Here are some pictures of my adventure in Frankfurt. I wondered around a lovely day in Frankfurt by myself and had some frites

Hosk art selfie

Art Museum

 The bridge 

Nice River

Statue

Massive Euro?

The Flight

Frankfurt river

Dynamics 365 Customisation and configuration – MB2-716 study notes

I studied for the latest Microsoft Dynamics 365 Customization and Configuration

certification, this is the 6th version I have passed.  Each time I take the certification I learn something new about Microsoft Dynamics, it’s limitations and how it works.

My previous study notes are here MB2-712 – CRM 2016 customisation and configuration Hosk study notes , the notes below are new things I learnt and built on top of the previous notes.  So if you are studying for the exam you want to read all of my study notes.

Business Process flows

  • Order of flows is used if multiple flows are available for your security roles
  • Users can switch Business process flows if their security roles can see multiple

Security

  • A team must belong to a business unit
  • A team can own records
  • Business units have a default team created by Dynamics 365, you cannot edit these or add/remove users.
  • You can add a custom control to data types – data and time, multi-line, single line
  • There are 9 entities enabled for auto numbering – contracts, cases, articles, quotes, orders, invoices, campaigns, categories and knowledge articles
  • If you enable Yammer you cannot disable it

Email

Different email architecture/Dynamics 365 mixes

  • Local exchange server – On premise Dynamics 365
  • Office 365 exchange – Dynamics 365 online
  • Office 365 exchange – Dynamics 365 on premise
  • Server side sync – Dynamics exchange integration allows appointments, tasks and contacts to be synchronized (optional)

Email clients

  • Dynamics 365 for Outlook Client
  • Dynamics 365 App for Outlook
  • Folder tracking

Entity

Entity properties which cannot be disabled once enabled

  • Business Process flows
  • Feedback
  • Notes
  • Activities
  • Mail Merge
  • Connection
  • Sending email
  • Queues
  • Change tracking
  • Offline capability for Dynamics 365 for Outlook

Entity properties you can disabled once enabled

  • Access Teams
  • Knowledge Management
  • Enable for SLA
  • Allow quick create
  • Duplicate detection
  • Auditing
  • Single record auditing
  • Multiple record auditing
  • Enable for phone express
  • Reading pane in Dynamics 365 for outlook
  • Use custom help

Folder tracking 

  • Folder tracking is tracking folders using server side sync and not limited to one email client
  • Folder tracking only works with server side sync
  • Folder tracking only works with exchange
  • Tracked folders work with Exchange Inbox rules
  • The tracking folders feature must also be enabled by your administrator
  • You can only track folders or subfolders inside your Exchange Inbox
  • You can set up multiple folders that link to the same regarding record
  • You can include an untracked folder inside a tracked folder
  • If you no longer need to track a folder, it’s a good idea to untrack it for performance reasons. To untrack a folder, remove it from the Folder-Level Tracking dialog box.
  • You can track emails only in folders under your Inbox folder in Exchange. Other folder emails cannot be tracked.
  • You can track up to a maximum of 25 folders per user account
  • Any manual changes done to the regarding object in the tracked activity records in Dynamics 365 will be overridden the next time server-side synchronization kicks in. For example, if you have set up a mapping between the Adventure Works folder and the Adventure Works account, all the emails in the Adventure Works Exchange folder will be tracked as activities in Dynamics 365 with the regarding set to the Adventure Works account record. If you change the regarding to some other record, it will automatically be overridden the next time server-side synchronization occurs. To change the regarding for any email, move the email to a different folder such as the Inbox.

App for outlook works at server level

Email Syncronisation

  • Dynamics 365 for Outlook
  • Server side sync
  • Email router is dead soon
  • Server side sync doesn’t need a users outlook to be open
  • Server side sync works with Dynamics 365 online or on premise and Exchange online or Exchange on premise. Any mixture of those
  • Mailboxes are created for users and queues
  • Separate options for incoming and outgoing email
  • You can set either or both incoming and outgoing sync to none
  • Forward Mailbox – you can set multiple users to be configured with a forward mailbox
  • Stop users synchronising with system settings à Email à incoming email and outgoing email to none

Mobile

  • Dashboards can be made available for tablets
  • In properties you can enable dashboard for tablets and individual sections for mobile
  • Only first 5 tabs or 75 fields/10 lists appear on mobile client
  • Set available on Phone checkbox to show/hide tabs in mobile
  • Collapsed tabs still count
  • Only 5 tabs will show even if it’s less than 75 fields
  • You have to put fields in the first five tabs for them to appear in a mobile client
  • Mobile can have specific mobile only controls (sliders)

Business rules

Business rules can

  • Add recommendation
  • Lock/Unlock
  • Show Error Message
  • Set field values
  • Clear field values
  • Set default values
  • Set business requirement level
  • Set Visibility (Show or hide fields)
  • Enable or disable fields
  • Validate data and show error messages
  • Create business recommendations based on business intelligence.

Business rules

  • Business rules can have 10 Conditional Branches
  • Business rule scope
    • All forms – all forms, quick create and main
    • Entity – can run form and server side.
    • Entity – server level will run on create or update
    • Entity – if server enable will run when data is imported
    • Single form scope – only runs for the specified form
    • To change scope of business rule you must deactivate first

Access teams

  • Sub-grid for Access Teams (must enable entity for access teams)
  • Access team templates will applying a standard set of privileges (read, write, delete, append, append to) rather than having to set this up for each individual user/team.
  • Access Team templates are enabled on an entity basis and you have to enable Access Teams on the entity in the communications and collaboration
  • When records are deactivated, access team permissions are not effected
  • Access teams don’t have security roles
  • Access teams can’t own records
  • Access teams are created and managed by CRM
  • An access team is created when you have added the first user
  • Access teams are not visible in default team views
  • Sharing records via access teams isn’t displaying in the sharing screen
  • Access teams can’t be used in resource scheduling
  • Multiple access teams can be linked to a single record
  • Access Team Templates, support dynamic record sharing. With the members of an access team being given privileges on specific records based on the access team template.
  • access teams do not have roles and cannot own record

Facts and stats about Access Teams, the bits below are useful for those study MB2-703

  • You can add more than one Access Team template for each entity
  • The default number of access teams templates for each entity is two
  • The number of access team templates you can have for each entity is controlled by the MaxAutoCreatedAccessTeamsPerEntity deployment setting.
  • MaxEntitiesEnabledForAutoCreatedAccessTeams deployment setting has a default value of 5.  This controls the number of entities it’s possible to enable for auto-created access teams.
  • You can change the MaxEntitiesEnabledForAutoCreatedAccessTeams , MaxAutoCreatedAccessTeamsPerEntity  only on Premise installations and you cannot edit them for Online.
  • A system generated Access Team isn’t created for each record until you add a user to the sub grid on the entity.
  • if you delete the team, this is the same removing all the members in the sub grid on the record.
  • if you change the access rights on Team Template this will only change the access right to new entity records/access teams.  Any records already created will use the previous set of privileges.
  • Access teams with Share access right ticked will mean any user who is in access team will be able to add (share) others to the access team for that record.
  • Users cannot grant privileges they do not have.  So a user can only add new members to an access team where the access team template has create privilege only if that user has the create privilege for the entity.
  • Access Teams created automatically by adding users to them are not shown in the system team views
  • Access Teams created automatically can be seen by doing an advanced find and select Team Type = access
  • Access Team created automatically have the is system managed field set to true
  • Access Teams can be un ticked on an entity (unlike Queues)
  • If you want to delete a Access Team Template you will need to remove all the sub grids using that specific Access Team Template before you can delete it.

Entity assets

Below are the following entity assets

  1. Forms
  2. Views
  3. Charts
  4. Fields
  5. Keys
  6. Relationships (1:N, N:1, N:N)
  7. Messages
  8. Business Rules
  9. Hierarchy Settings
  10. Dashboards
  • You don’t have select all the entity assets
  • You can add the entire entity by checking the Add All Assets Checkbox
  • You can manually select specific assets by selecting them
  • Fewer assets means fewer dependencies and quicker deployments

Business process flow

  • You must enable Business process flow on an entity
  • Once an entity is enabled BPF you cannot disable it.
  • Each entity can have no more than 10 activated business process flows
  • Multi-entity process can use no more than five entities.
  • A business flow has a primary entity but can span multiple
  • Branches can be only 5 levels deep

Business rules

  • Set scope to Entity if you want a business rule to run on the server, not just on the client side
  • Business rules are not triggered when you save a record
  • Business rules are triggered when a record is opened or when a field is changed which the rule conditions are set to check e.g Form OnLoad and Field OnChange
  • Business rules action will run only if condition is true

Rollup fields

  • Rollup fields recalculate once an hour
  • Rollup fields supported – Whole Number, Date and Time, decimal, currency
  • Maximum 100 per organisation
  • 10 rollup fields per entity
  • If you make a rollup for a currency field, it will create one for the base
  • Rollup fields not supported – Option set and Lookup
  • Aggregate value of records related to a specific record
  • Rollups fields are asynchronous, they don’t run in real time
  • Rollup fields can be run by workflows or business rules
  • Rollup fields can be refreshed manually or triggered by a workflow
  • Rollup Fields are automatically rolled up 12 hours after they are created
  • A workflow can’t be triggered by the rollup field updates.

Custom actions

Custom action Limitations

Highlights from the link above – click the link to see al

  • Actions are created using a Workflow entity record
  • Can be associated with a single entity or be global Can be associated with a single entity or be global (not associated with any particular entity).
  • Is executed in the core operation stage 30 of the event execution pipeline.
  • Supports the invocation of plug-ins registered in the pre-operation and post-operation stages of the event execution pipeline.
  • Is available through the Web API or svcand organization.svc/web endpoints.
  • Can be executed using a JavaScript web resource.
  • Always runs under the security context of the calling user.
  • Supports input and output arguments.
  • Isn’t supported with offline clients.
  • Can be invoked by a web service method call.
  • Can be invoked directly from a workflow.

 

Dynamics 365 Online Limitations

Highlights from the link above – click the link to see all

Database indexes

  • Need to be created by a Microsoft service engineer, create a support request

Fetch XML Limitations

(http://www.kingswaysoft.com/blog/2013/06/18/Limitations-with-CRM-FetchXML   )

  • 10 linked entities
  • No Right Outer Join
  • No SQL Functions
  • No Sub Queries
  • No support for Union
  • No Case/When type functionality
  • Can’t compare 2 fields directly
  • 50,000 records per query aggregate
  • 5,000 records per query (paging for more)

Business Rules

  • Can’t run when the record is saved
  • Can’t interact with tabs or sections
  • OnChange events are not triggered when business rules set a field value
  • Rules with invalid references are not ran, there will be no error message
  • Whole number fields with TimeZone, Duration, or Language format are not supported
  • Up to 10 if-else conditions per rule
  • Rule definitions are cached in the mobile app, must close and re-open the app for changes
  • Must create a separate rule to clear actions of a previous rule, if necessary

Calculated fields

  • Saved queries, charts, and visualizations can have a mx of 10 unique calculated fields
  • The calculated field values are not displayed in Outlook Offline mode
  • A max number of chained calculated fields is 5
  • Can’t refer to itself or have cyclic chains
  • Can’t access parental fields with a multi-entity Lookup
  • Sorting is disabled on:
    • A calculated field that contains a field of a parent record
    • A calculated field that contains a logical field (for example, address field)
    • A calculated field that contains another calculated field
  • Can only span 2 entities
  • Can’t trigger workflows or plug-ins
  • Can’t change an existing simple field to a calculated field
  • Duplicate detection rules are not triggered on calculated fields

Rollup fields

  • Max of 100 per organization
  • Max of 10 per entity
  • Can’t trigger workflows
  • Can’t be used in a workflow wait condition
  • A rollup over the rollup field is not supported
  • Can’t reference a calculated field that uses another calculated field
  • Can only apply filters to the source entity or related entities, simple fields or non-complex calculated fields
  • A rollup can’t be done over N:N relationships
  • Can’t be done over 1:N relationship for the Activity entity or the Activity Party entity
  • Aggregated under the system user context, all users see the same rollup field value

ExecuteMultipleRequest

Mutliselect Option Set

  • The field cannot be used in Business Rule, BPF, Workflows – Create n Update Step, Not available as filtering attribute in Plugin.

 

Hosk’s recommended Dynamics 365 and other articles September 2018

Quotes

The pain of legacy code never goes away

Writing code is a long lesson in humility #HoskCodeWisdom

 

Power is like being a lady… if you have to tell people you are, you aren’t.” – Margaret Thatcher

Articles of the Month

awesome-1

Great Dynamics 365 articles this month

Programming/Scrum

Other/Business/Leadership/Management

The Hosk – currently reading

The Hosk – has read and recommends

Selected  HoskWisdom from September

  • No Developer likes to be told they have ugly code
  • Meaning can come from great suffering, just ask anyone who has worked on an IT project
  • You can’t refactor code until you understand what it does
  • To many people try to do Agile when they should focus on being Agile #HoskCodeWisdom
  • The complexity of code is proportionate to the stress of supporting it #hoskcodewisdom
  • There is a game Microsoft likes to play with developers, They call it Master and Servant. It’s a lot like life and that’s what’s appealing

Last months Monthly articles

Last months recommended monthly articles

Hosk’s CRM Developer Articles

A collection of my favorite CRM Developer articles I have written