LanceMcCarthy / MvpApi

An application for Microsoft MVPs to easily browse and upload contributions
MIT License
36 stars 10 forks source link

Arrange ContributionDetailPage so that it cascades fields properly #8

Closed LanceMcCarthy closed 6 years ago

LanceMcCarthy commented 6 years ago

The ContributionsModel is complex and has many requirements where every ContributionTypeModel has a set of rules for what the field names are and which fields are required.

I need to design the ContributionDetailPage so that when certain selections are made, the UI reflects that selection's requirements.

To facilitate this, I manually read out all the possible values and mapped out the selections with field names/value requirements:

 * NOTE: Type, Areas, Title and Date all required
 * If the Activity type is follow by [url R], a Url is required for that Contribution Type
 * If the field is followed by an [R], it is a required field for that ContributionType

 * If there are only 2 fields for the Activity Type, then it's AnnualQuantity and AnnualReach
 * If there are 3 fields then it's AnnualQuantity, SecondAnnualQuantity and AnnualReach

-Article
Number of Articles [R]
Number of Views

-Blog Site Posts [url R]
Number of Posts [R]
Number of Subscribers
Annual Unique Visitors

-Book (Author)
Number of Books [R]
Copies Sold

-Book (Co-Author)
Number of Books [R]
Copies Sold

-Code Project/Tools [url R]
Number of Projects [R]
Number of Downloads

-Code Samples [url R]
Number of Samples [R]
Number of Downloads

-Conference (booth presenter)
Number of Conferences [R]
Number of Visitors

-Conference (organizer)
Number of Conferences [R]
Number of Visitors

- Forum Moderator
Number of Threads Moderated [R]
Annual Reach

-Forum Participation (3rd Party Forums) [url R]
Number of Answers
Number of Posts [R]
Views of Answers

-Forum Participation (Microsoft Forums) [url R]
Number of Answers [R]
Number of Posts
Views of Answers

-Mentorship
Number of Mentees [R]
Annual Reach

-Open Source Project(s)
Project(s) [R]
Commits

-Other
Annual Quantity [R]
Annual Reach

-Product Group Feedback
Number of Events provided [R]
Number of Feedbacks provided

-Site Owner
Posts [R]
Visitors

-Speaking (Conference)
Talks [R]
Attendees of talks

-Speaking (Local)
Talks [R]
Attendees of talks

-Speaking (User group)
Talks [R]
Attendees of talks

-Technical Social Media (Twitter, Facebook, LinkedIn...) [url R]
Number of Posts [R]
Number of Followers

-Translation Review, Feedback and Editing
Annual Quantity [R]
Annual Reach

-User Group Owner
Meetings [R]
Members

-Video [url R]
Number of Videos [R]
Number of Views

-Webcast
Number of Videos [R]
Number of Views

-Website Posts [url R]
Number of Posts [R]
Number of Subscribers
Annual Unique Visitors
LanceMcCarthy commented 6 years ago

Complete, here's the working prototype

image