"Go to page" causes an error on compilation


#1

When I add a link to a page using “Go to page” my project errors when it tries to compile. Everything is fine up until the point when the project starts to compile. If I remove the “Go to…” link it compiles fine.

The ID of the last failed build is: 1123822563546443151


#2

Hi Paul,

Is this a Go to Page in a webview? Is the link the full url including the “https://www.” in front of it maybe?


#4

Hi Paul,

I do see an error and I reached out to engineering to get a bit more explanation of the cause. I will follow up with more info when I receive it.


#5

Thank you @wade, I look forward to hear what they say as it really is causing problems.

P


#6

Paul, I haven’t heard anything back but I did take a deeper look in here because the code in the app was extremely messy and was telling me that there’s probably an issue regarding app design and UX occurring here to result in code output such as your app has currently on build. I wanted to know why so I dug in more myself. A big issue here is when you begin to nest tableviews into the cells of other tableview’s, you’re going to get yourself into trouble and that’s what is happening here. The big issue in your case is that you’re breaking this rule on a pretty extreme level in your current design.

When you try to navigate to new pages from within nested tableviews, the code we’re writing on the backside is going to begin to fail. It has to do with what ViewController is considered the parent view controller within a very deep element hierarchy. Your pages are beautiful but they are failing to follow mobile UX design guidelines. The moment you have dynamic data elements inside dynamic data elements, our platform will quickly become ill-equipped to handle this as it’s not a standard norm unfortunately.

A telltale sign that you’re going down a non-recommended and/or highly customized path is when you begin to see “same direction scrolling elements” within and atop each other. You have tableviews that fill the screen of the phone but then within them are cells that nest other tableviews that scroll the same direction. The phone and the user will have a difficult time differentiating what the user wants to do when the user scrolls with a finger atop nested scrolling items and this is why it becomes a bad practice, an unrecommended ux pattern, and against standard mobile design guidelines. it’s not to say it’s “wrong” because design is subjective, but it is moving into a much more “custom design” and that’s where our platform is going to begin to fail you and increasingly so if you stay the course.

The correct answer here is not an easy one to accept, especially as far along as you are but a heavy adjustment in your app’s design is actually the recommended action here. I highly recommend pausing for a moment to replan your implementation and make a large course correction. You should implement a strategy that doesn’t involve tableviews inside of other tableviews and I recommend breaking out the logic and exploration to either having more pages with single tableviews within each page, or perhaps a design from a higher level that sets the user down a path to get to the end information in a more efficient manner by having them first pick from a high level “route” like putting them into a “My News”, or “My Documents” or “My Apps” page by themself so that digging into the content is a more direct route from that point forward.

Again, not a tough pill to swallow as your app seems quite mature but I’m actually pretty shocked you made it as far as you have without issues. The nesting and tableviews within tableviews you’ve created here in the quantity that you have is not going to be manageable and we’re not going to be able to help you very much either as our platform simply isn’t prepared to break mobile design guidelines to this extent.


#7

@wade Thank you very much for your investigations and detailed reply. You’re right, I have been nesting to an almost inception level :frowning: I guess I believed that if it didn’t throw any errors when I was creating it, it should not throw an error when building. I was wrong! I think the important thing is I now know where I was going wrong, so I will have to course correct. Thanks again.


#8

Thanks for taking in the critique and recommendation well. I meant to do it as real and positive as possible as I was talking about design and that can cut to the core of a developer often times. Yea you were navigating through that tight passage well and I’m sorry it took so long to hit the eventual rocky areas. You are at an expert level in Dropsource’s platform from the look at what you’ve built so far so I feel pretty confident recommending a change in design as I think you have the skills to backpedal a bit and solve it.


#9

@paul.henriques sorry for your troubles. I think we might be in the same boat. @wade I have another iteration of my project failing to build as well. I’m trying to test a scenario with how my locations are displaying. I have a Page Controller set to static data type and 2 pages. However, inside of the view of page 1 I have a collection that is receiving dynamic data from an API call. Then page 2 is a map view. In theory I thought I could have a floating action button in the bottom right of both pages. Then when pressed on page 1 would move to page 2 in the view and then when pressed on page 2 would move back to page 1 in the view.

The collection view on page 1 would show a list of the locations and then the map view on page 2 would show all locations on a map. So I thought it was the fact that I was pulling in data into a static page view with a dynamic collection element. I deleted that to test and I still received a build error. Can you take a look and let me know what I’m missing? I would love to have the map view and the list view in the same page. Ultimately I could do it with another page and have the page transition be flip and it would still work the same but I wanted to test all the functionalities of dropsource that I have yet to use. The build ID is 1126287096869622848.

Huge thank you for all of your help!

Update: I can’t build any project that I have. I tried to build a test project that hasn’t been touched and it fails as well. Build ID: 1126319318628528769


#10

Hey @wade . Not sure if you ever saw this post but just like the previous project build issue, this one resolved itself overnight without any changes to my project. It’s weird. It’s as if something triggers the build process to bonk out and then it clears itself up in about 12-24 hours. I didn’t restart or clear any cache either so not sure what’s happening here.


#11

Hey Matt,

I’m still looking into the more in depth needs here to hope to offer some guidance on direction you can go for this map/list design. I’ll have something more soon.

As for the anomalies, this is the 2nd time we’ve seen this. Please let me know if you find this “failure auto-fixed in 24 hours” situation again. I’m keeping track of this and the build id’s that you share too. I’m hoping that maybe by looking at the error logs of all 3, we could uncover a pattern within them. This is a strange occurrence that I’ld like to pin down if possible. Thanks for being so forthright with your findings here.


#12

Matt, I am going to reach out to Engineering and see if this is an internal error as there’s an error in the code pertaining to what happens with a maps annotation is “deselected”. I think it might be something we need to solve on our end. Let me get back to you on that as it’s the cause of the project failing to build. It’s currently based on the mapview in the location info page. As a middle man step, you might want to try deselecting these options I’ve circled in the screenshot below while I get more info from engineering on the more direct issue I’m seeing in code.

On the other front when it comes to using the dynamic data and plotting all the points on a map. I think this guide will help you iterate through an array and do exactly that. As for the design, you could place these on 1 page and show/hide the list/map on a page and perhaps setup a toggle up top using a “segmented control” element so the user selects list/map and you display appropriately. That’s certainly 1 approach you could employ.


#13

@wade thanks for the info my friend. On the deselecting of those items, should I deselect all 4 of those option or just the 2 you had deselected?

As for the map view and plotting all pins, I sent @markpiller a direct message about iterating through an array with the returned values from my Backendless data. Currently, I’m not able to iterate an array. I used the tutorial and in it it shows that in the 200 response there should be a results property but my data doesn’t have that option. I’m hoping Mark can shed some light on it. Or maybe you can as well.

My original implementation was going to be with a segmented button option. However, I like using a floating button to move between pages in the page controller.


#14

On the “deselecting issue”, I’m remembering responding to this in that Maps set in page controller’s might be giving strange results internally. Did you adjust your design since then? Is this still an issue on your side?