cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
vspenelgoias
Level: Powered On

Is it possible to build this App with PowerApp?

Hello everyone.

 

First of all, if I'm creating this conversation the wrong place, sorry for that. I'm not used to online forums.

 

I've received the task to develop an App that would replace the paperwork and all the difficulties related to it. I'm an maintenance department managing more than 100 hundred sites pretty far from each other and from the maintenance headcenter. To each site, we have a form with its equipments and a "OK" or "Not OK" to the maintainer to mark. Actually, all the work is being done with printed forms and later uploaded mannualy to a ERP. At the same time, we have many tablets available.

 

I've already started reading tutorials on PowerApps, but I'd like the community feedback if its possible to build an App so that the maintainer could open on its tablet, register all equipments status on a data base. So this information would be online (could be as simples as a Excel sheet on OneDrive) to anyone to access.

 

Oh, some of the sites are in areas with no signal. That would require the App to store all the info until internet connection is on.

 

Kind regards to all the community,

Greetings from Brazil.

1 ACCEPTED SOLUTION

Accepted Solutions
TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

Yes, that sounds right in the wheelhouse of what PowerApps can do. And depending on your data policies, the maintainers could even open your app on their own personal phone, which could lower the cost of tying up the tablets.

 

The first thing I would do is think about how I wanted to structure my data. Yes, you know you will need certain fields to interface with your ERP system, but I'm thinking about how you structure the data to allow for each maintainer to cleanly and quickly find the equipment they need to update. For instance...

1) Is each maintainer assigned to particular equipment? That is, could you have a "maintainer" field attached to each equipment record where you listed the person responsible? If so, when the maintainer is logged in for "update" mode, they could have their view limited to just the equipment for which they were responsible... so that they wouldn't have to page through hundreds of code-dense equipment names.

2) Is each piece of equipment attached to a particular location, and are maintainers assiged to maintain a certain number of locations? So you could have a "maintainer" field attached to the location, and a "location" field attached to the equipment records? Again, it could provide a way of filtering the records quickly.

3) Will the maintainers be entering records while physically present at the location, and will the devices have GPS enabled? If so, each location could have a coordinate associated with them, and the maintainer could see only the equipment near them.

4) Will maintainers typically enter records for the same equipment day after day or week after week? If so, the maintainer might appreciate a filter that showed them the equipment that they updated over the last X-days as a way to quickly locate the same equipment.

5) Will a maintainer have equipment "assigned" to them by a central office, so that on any given day they could just look at their "assignments" as a way to quickly find the equipment they need to update?

6) Could you code up a process whereby a maintainer could build a custom "profile" of equipment they typically service? Think of it like a "favorites" list in a TV Channel lineup. A maintainer could view his/her "Favorites" list and quickly find the equipment they were looking for.

 

Based on which of those sorts of ideas I wanted to implement, I would look at the requirements and choose a data backend that would service my needs. You can do all of the above with Excel or even a few SharePoint lists. But since I came from a database background, I typically favor something more like CDS, SQL, etc. You will have to judge what you want to see in the app versus how easy it is for the rest of the people in your company to view the data.

18 REPLIES 18
TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

Yes, that sounds right in the wheelhouse of what PowerApps can do. And depending on your data policies, the maintainers could even open your app on their own personal phone, which could lower the cost of tying up the tablets.

 

The first thing I would do is think about how I wanted to structure my data. Yes, you know you will need certain fields to interface with your ERP system, but I'm thinking about how you structure the data to allow for each maintainer to cleanly and quickly find the equipment they need to update. For instance...

1) Is each maintainer assigned to particular equipment? That is, could you have a "maintainer" field attached to each equipment record where you listed the person responsible? If so, when the maintainer is logged in for "update" mode, they could have their view limited to just the equipment for which they were responsible... so that they wouldn't have to page through hundreds of code-dense equipment names.

2) Is each piece of equipment attached to a particular location, and are maintainers assiged to maintain a certain number of locations? So you could have a "maintainer" field attached to the location, and a "location" field attached to the equipment records? Again, it could provide a way of filtering the records quickly.

3) Will the maintainers be entering records while physically present at the location, and will the devices have GPS enabled? If so, each location could have a coordinate associated with them, and the maintainer could see only the equipment near them.

4) Will maintainers typically enter records for the same equipment day after day or week after week? If so, the maintainer might appreciate a filter that showed them the equipment that they updated over the last X-days as a way to quickly locate the same equipment.

5) Will a maintainer have equipment "assigned" to them by a central office, so that on any given day they could just look at their "assignments" as a way to quickly find the equipment they need to update?

6) Could you code up a process whereby a maintainer could build a custom "profile" of equipment they typically service? Think of it like a "favorites" list in a TV Channel lineup. A maintainer could view his/her "Favorites" list and quickly find the equipment they were looking for.

 

Based on which of those sorts of ideas I wanted to implement, I would look at the requirements and choose a data backend that would service my needs. You can do all of the above with Excel or even a few SharePoint lists. But since I came from a database background, I typically favor something more like CDS, SQL, etc. You will have to judge what you want to see in the app versus how easy it is for the rest of the people in your company to view the data.

TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

Forgot to mention...

 

Ideally, you might give the Maintainers a choice of what filter they want to apply...

 

...let them build a "favorites"

...also, let them see the equipment they have updated over the past X-days (let them change it on the fly)

...also, let them see the equipment that is nearby if they want (and have GPS)

...etc.

UNCWAshley
Level: Powered On

Re: Is it possible to build this App with PowerApp?

I have kind of the same issue, but, in a different manner.  I get the data portion, but, I am stuck on what type of front end to do.  

 

We maintain equipment all throughout a campus.  We have dinining locations and then we have equipment within the dining locations.  But, we have daily, weekly, monthly, semi-annual and annual items to do for each of the pieces of equipment / locations in general.  So, the same location and equipment has a daily, weekly, monthly, semi annual, etc.  

 

So my thoughts are this:

1.Based on the location of their phone the system will try to locate the dining location up.  Or if it is not correct then they can select the correct one.  

2. They then click on what type of check they are doing (probably pull down)

3. Then they would either check off that the item is down.  (example "check cords on equipment to see if there is any damage).  

4. Submit.  So then it would record the "event" that would also have the date stamped and the person doing the imspection.  

 

My issue is really how do you represent the type and then how to represent that?  

TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

Hi, @UNCWAshley. Help me understand your last statement:

 

"My issue is really how do you represent the type and then how to represent that?"

 

Do you mean the type of check or inspection they are doing? To be clear, these inspection events are handled per dining location, correct? That is, the check of the dining location can't be marked "complete" until all of the equipment there is inspected? (The alternative would be that each individual piece of equipment has its own "check" requirement, so even though you are locating the equipment by dining location, you are still left with a list of equipment at that location which might have different inspection requirements, one to the next.)

 

The answer would impact the potential number of actions the user could take at the location, and so might impact the way I constructed my app. For instance, if you are just interested in site-level inspections *and* you have a finite number of inspection cadences (weekly, monthly, quarterly, etc.), then some indication of what inspections are DUE for the chosen location might be helpful. Imagine buttons representing the various inspection cadences. The shortest cadence (weekly?) is always available (visible, not disabled). If a monthly inspection is also due, then the Monthly button would be available, etc.

 

This model breaks down at a high number of inspection types/cadences across the various locations, even accounting for one-off location-specific inspection types, because you'd have to have a button for each.

 

Another option would be the dropdown model you mentioned. Two things to note, here:

1) look at utilizing a "Screen" column in your dropdown to drive the navigation to the proper screen for the data entry. Post back if you're not sure how to do that.

2) I would, as a user, still appreciate a representation of what inspections were due for that site. I don't think you want to LIMIT the types of inspections you would put in the dropdown (to only those that are due)... because you might be fine knocking out a long-term inspection (like an annual inspection) the week or two BEFORE it's due. Still, knowing what inspections are DUE and/or are UPCOMING would be super helpful. Maybe a "due date" for each of the inspection types, and those that are within two weeks from today's date are in a brighter color?

 

Lots of ideas. Maybe post back with more information about your setup, what you meant by the statement at the top of this page, and what your goal is for the UI, and we can come up with something really cool.

UNCWAshley
Level: Powered On

Re: Is it possible to build this App with PowerApp?

What I meant was this:

 

We have normal food service equipment and then you have ice machines and walk-in freezers and coolers.  The latter is specialized equipment and there you don't just check cords to see if they are freyed or check gas lines to see how they are going.  So I kind of in my mind said we have two types of equipment.  1 (none specialized and can be PM'd on a location bases) 2. Specialized (ice machines and walk-ins who have their own PM that goes into much more detail).  

 

On the confusing part to me is that during the annual / monthly / semi-annual inspections a lot of them are the same thing, but, if is time for the "semi-annual" for a location then the daily / weekly / monthly turns into the annual.  So based on the time of year the same "maintenance item" can turn into one of the others.  

 

And quite frankly we could just make this for the pieces of equipment.  I was actually trying to lessen the load a bit UI wise so that the technician wouldn't have to scroll down to find the piece of equipment that he/she needed to PM.  Though an idea would be to enable the GPS and based on their location it would show the dining location and then they could pick the piece of equipment they are servicing.  Then they would have the checkbox and tasks to perform for that equipment.  And of course what would be nice would be for them to see if they have mised some of the tasks for say a daily check for it to notify them that it hasn't been done.  But, I dare to say we only have a few technicians and a lot of work to do so they would be getting notifications all the time and to me that's kind of counter productive.  

 

Thanks,

Ashley 

UNCWAshley
Level: Powered On

Re: Is it possible to build this App with PowerApp?

So, we have 27 walk-in coolers and freezers... And 25 ice machines.  We have almost 400 to 500 pieces of equipment and 27 locations.  So, my worry is if I get too specific the UI load will be too large and they won't use it.  So, they need to go like:

1. What location am I at.

2. What pieces of equipment do I need to pm.

3. Is this a daily/weekly/monthly/Semi-annual/Annual PM

4.Now let me check what I have for this piece of equipment and then check them off.

5. If I have to repair something note it and then repair it ( msg the office to create a work order so that I can place my notes.

6.What's my next piece of equipment

7. Repeat.

 

TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

OK, so equipment (whether special or standard) is associated with a location.

All equipment at a given location should be presented to the user, but the level of review/inspection might be different based on the cadence of the PM (annual has more and different things to look at compared to weekly, for instance).

 

Based on what you said, a back-end office admin would assume that an annual PM counts as the weekly/monthly, as well. In that case, I think I might have the user select the location and then the type of PM. If s/he chooses Monthly, I expect them to do the Weekly checks, too. If s/he chooses Annual, I expect them to do the Weekly and Monthly checks.

 

If all of that matches what you're describing, you can go a couple of ways:

1) quietly insert a record for the location for each PM cadence that is quicker than what the user selected. So any time a Monthly PM is chosen, you also insert a Weekly PM. For Annual, you insert a Monthly and a Weekly. Your future tests of what PM is due for a given site would then be able to match the PM type (Monthly would look for the last Monthly, Annual for the last Annual).

 

2) you mark each PM record with a date and a type, which would be a number (1=Weekly, 2 = Monthly, etc.). Then a check to see if a piece of equipment required a Weekly check could obtain the last PM with a type >= 1. A Monthly check would be where type >=2, etc. (The logic of how you'd implement that would depend on whether you're looking for X days to pass -- 7 for a weekly check, 30 for Monthly, etc. -- or if you just wanted a check within the week where today falls, or within the month, etc.).

 

As for the UI presentation, at some level you have the equipment for a given site driving the activities that your user must perform. You have the association of the equipment to the site. As long as you drive the user interaction with your app at the site level, I don't think it will be too cumbersome. Let them pick the site, then take them to a screen where you have a gallery of the equipment there with a PM outstanding. Either let the user knock out individual equipment right from the Gallery (via a button), or let them knock out the site once they've verified all of the tasks for all of the equipment. (I prefer the former, since I figure I would really want to track the records of the individual equipment, and if a piece of equipment requires a further maintenance ticket, I don't want to mark the site as "OK" if I'm waiting on the odd ice-maker getting serviced.)

 

So, my suggestion...

Tie the equipment to the location.

Have a table of tasks for each type of equipment/PM cadence combination (ie, weekly you only need to check the cords, but at the monthly level its cords and air filter, etc.)

Let the user select the site (provide them the nearest via GPS, if you can)

On the site screen...

...have a gallery of equipment at the site

...provide an "All Equipment" view, as well as a view of only the equipment with "Service Due"

...dynamically determine which level of PM is required for each piece of equipment, and default a dropdown to be that level for each item (so if one item is a Weekly check, but another is Annual, they would each have the individual setting picked)

...using the dropdown allows the user to choose a different type of PM... for instance if they want to accelerate to an Annual

...have three buttons:

......1) to enter comments about what is wrong with the equipment

......2) to view the tasks from the equipment/PM profile I mentioned, above

......3) to mark the PM specified in the PM Type dropdown as "completed," capturing the date, PM type, and the technician.

 

This date and PM type would drive whether the equipment disappeared from the Gallery in the "Service Due" view. So you can imagine a user selecting the location, seeing a Gallery of equipment that require attention, and by tapping a button, they can mark those items as complete, and the equipment disappears from the Gallery. If they make a mistake or if they notice a problem with a piece of equipment NOT in the "Service Due" view, they can pop over to the unfiltered "All Items" view and make the correction.

 

Make sense?

UNCWAshley
Level: Powered On

Re: Is it possible to build this App with PowerApp?

Sounds like a good start.  

 

I have 4 lists so far in sharepoint.

 

1. Inspection

a. InspectionID

b.Technician (person field but it should be placed in there by who is logged in for the inspection)

c. Time-type - daily,weekly,monthly,semi,annual

d. Date of inspection

e. Type of equipment

f. dining-location

g. The last one would be the different tasks that are being recorded per that inspection.  

 

2. Employees

a. Employee number

b. Employee Name

 

3. Time Type

a.Daily

b.Weekly

c.monthly

d.semi-annual

e.annual

 

4. Dining Locations

a.DiningLocationId

b.Address

c.Coords

d.Dining location Name

 

I haven't created the "task lists".  I don't know if I want to create a list that incompasses all of the tasks per Time Type or something differently.  Example would be:

 

List - Dunkin Daily

TaskID    Task Name   Equipment (this would be a lookup with the associated equipment in Dunkin donuts that has a weekly PM)

 

Ultimately I was thinking that "Inspection" list would be kind of like an electronic log of each "event".  That way I can have a record of what the technician has done at an inspection.  But, since you have suggested and I like the suggestion I can still tie the equipment in per location.  If that is the case then I will need to add a list of equipment and have it tie into the locations list as a lookup I think.  

 

And add an equipment "list" as well so that I can have a lookup in other lists.

 

Now you know more than me.  But, sometimes people like to have more lists kind of like tables of course and that way you can reference them in other lists.  The main mental block I had was how to have multiple records of say a check box of the different items that would be associated with the inspection event to say a piece of equipment.  I have included a low fidelity of some scribble I did this morning.  Smiley Happy 

 

Thanks,

Ashley

TimRohr
Level 10

Re: Is it possible to build this App with PowerApp?

Hi, @UNCWAshley ...

 

I think the idea of more tables/lists just comes from the idea of data normalization making the admin's life easier. Smiley Wink

 

Two general points... I don't think, given everything that you described, that you want to require a checkbox on each individual task associated with an inspection. That is going to turn off your user from wanting to use your app, and it will also complicate your data structures. (Normally I wouldn't comment on the business process of someone's approach -- it's your business -- I just want to point out, from a data-structure POV, that you might be overcomplicating things.)

 

Second, here are the lists I think you need:

Employees

(as  you described it)

 

Locations

(as you described it)

 

Equipment

(with an ID, a Lookup to the Locations list, and a Lookup to the EquipmentType list)

 

EquipmentType

(ID field and a descriptive name field -- these  will be used to create InspectionProfiles)

 

InspectionProfile

(ID field, Lookup to EquipmentType, a unique entry of Weekly or Monthly or Annual, etc., and a list of tasks to check for this type of equipment on this cadence)

 

InspectionLog

(ID field, EquipmentID field, Date field, EmployeeID field, InspectionType field limited to only those cadences that appear in the InspectionProfile list for the EquipmentType associated with this EquipmentID, Notes field for other tasks)

 

Note that your inspection log now traces by the individual pieces of equipment. Because the equipment is associated with a location, we can produce a list of the equipment at a given locale for the user who is on site. Also, because the equipment is associated with an Equipment Type and every Equipment Type is associated with one or more InspectionProfiles, we could report the tasks that need to be done for a given piece of equipment for a given cadence of inspection.

 

Also note that if you were to go to the granular level of each individual task requiring a check-off by the user (rather than a general check to say that all of the tasks related to a piece of equipment's inspection have been completed), then you would need another list... this one of tasks associated with each InspectionProfile. You would also need to consider whether you needed to track the completion of those tasks in your log (I'm not even going to touch how complicated that would be), or whether you could simply derive some logic from them (ie, only after all of the checkmarks for the equipment have been ticked to show all tasks have been completed would you then enable the button to mark the equipment as "inspected").

 

Does that make sense?

Helpful resources

Announcements
firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

FirstImage

Power Platform World Tour

Coming to a city near you

thirdimage

PowerApps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

FourthImage

Join PowerApps User Group!!

Connect, share, and learn with your peers year-round

SecondImage

Power Platform Summit North America

Register by September 5 to save $200

Users Online
Currently online: 236 members 4,497 guests
Please welcome our newest community members: