app-inventor-gallery / aig Goto Github PK
View Code? Open in Web Editor NEWApp Inventor Community Gallery
App Inventor Community Gallery
Replace the username/password/Login button features in #1 with the link (as is done at present) to the Google login page.
Arrange for initialization to be accomplished when an instance of the RpcServlet is created, rather than waiting until the first RPC request is made.
Extending the project description to allow HTML would let users link to other content. This could be valuable.
Related to #35.
Depends: liberated/liberated#6
Once liberated removes JSON-RPC version "qx1" support and allows RPCs to throw errors instead of returning the error parameter, correct all of our RPCs to throw errors.
Currently, deleting an app delete all source and apk blobs, and any search entries in the database which are associated with the app. It does not however delete objects from Likes or Flags which pertain to the app. It must do so.
(Caveat: This may be obsoleted by a decision to mark deleted apps as deleted, but not actually delete them.)
Add author, number of downloads, etc. information for each app in the ribbon, as shown in #1.
(For the moment, we are not implementing the tab-based selection of ribbons. We'll stick with multiple ribbons for right now.)
Depends: #31
Does the backend support this yet? (It's trivial to implement, if not.)
Modifications to design shown in #15:
In frontend, provide access to only a single image. Leave backend three images, for future use.
Search all RPCs to find ones with multiple put() and/or removeSelf() calls. Wrap these in a transaction.
Even if you have no authorship rights, you can change your display name.
We probably should not allow this.
Use the results of the new flag from #5 to add an "Edit Display Name" button or link whenever the flag is true. This will encourage users to provide a reasonable display name.
Implement a GUI for threaded comments, so that a user can "reply" to a particular comment rather than just appending a comment to a single list of comments.
The backend for this already exists.
Add to the results of the whoAmI RPC a flag that indicates whether the user's current display name is the same as the Google internal ID that we use as the default display name.
Find a reasonable, generic format in which search results can be depicted at the top of the Search Results page. (#10)
so people can find stuff
Depends: #30
There's a FIXME comment. Confirm that this function works as required.
Clicking on the image or textual description in the middle of the Home page, for either Find Apps or My Apps, displays the page but leaves the Hierarchy at "Home". This click should generate a call to the switch-to-module function being created for issue #23 so that the hierarchy gets updated properly.
Replace the current tabs with links at the top-right of the page. See #1.
This may be able to be implemented by "excluding" the tab bar in the Tab View, and controlling it programmatically. (That may require a bit of theming. I'm not sure what the top of the pane will look like if the tabs are excluded.)
Alternatively, create a set of subclasses as was done with aiagallery.widget.RadioView, to implement a Tab View widget with a Bar that is detached and looks like links.
This page is not working fully. Complete it.
Be sure that application flags management can be accomplished from here.
Implement a Management module to edit permission groups.
Users should be encouraged to write more than one line to describe their project. The UI element that accepts the project description should be expanded to a small text box.
Implement functions that provide easy shortcuts to searches. This will be used, for example, to allow clicking on an author name anyplace it occurs, and switching to a Search Results page which shows all apps from that author. The parameters to the function should allow an arbitrary search. A likely candidate parameter list is similar to that of liberated.dbif.Entity.query().
Depends: liberated/liberated#7
See also #12. Implement publish/unpublish.
Use a collapsable panel for inline editing of app info. See #11.
Considerations:
In My Apps module, the "Reset" and "Discard" buttons should be smaller or moved away from the Save Application button.
Hitting either of them causes you to lose work. So they should be harder to hit. This is a GUI design issue.
Also I don't understand the difference between reset and discard. Would discard actually remove my app? Then it should probably be labeled "Delete this App" and presumably will be followed by an "Are you sure?" dialog...
If possible, modify the browser's location bar as each page is displayed, to provide a shortcut back to that same page.
This requires a new Status value, probably "Unpublished". "Active" takes the effect of "Published". We may want to globally replace "Active" with "Published". All queries that currently return results of Active will return published apps. Some of those queries should be modified to return both published and unpublished apps.
The My Apps page shown in #11 depicts the Publish button, which should toggle between Publish and Unpublish depending on the current state of the app.
See #1 for image.
In addition to the basic text box and "Search" button, add an "Advanced" link which directs to something like the current "Find Apps" page.
The search object needs words to be stemmed better. Currently quotes, parenthesis, etc. are added to the Search entity type, as are some empty entries. Also, numbers are added but must be excluded.
A day later, 3 of my apps are still status: Processing Specifically LOTR Protect, Stay Occupied, and Class Text Vote.
This is 3/18. Not a happy scaling number. The main purpose of this issue, though, is to highlight that I have no information but that they are Processing. Zero info about what I could do to mend this, or what exactly is the problem.
This should be fixed.
Home Page, My Apps, and Find Apps are all OK.
I attempted to upload a png image for an App and received a JS alert saying:
Async(undefined) exception: Error -32603: Method threw an error: Error: Database write error: JavaException: com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.
the image used can be found at
http://tinyurl.com/aigerrorimage
This may be via special privs directly on Project Details page, or via a special management page.
Does the system attempt to re-upload your ZIP and source file when you just edit the text on a previously uploaded app? It seems to from the way it messages back to the user (it says, "Uploading").
Each RPC should be logged (request and response). Consider how much parsing is required at logging time vs saving the JSON for later processing.
Also add log of requests to load the GUI?
It looks like entries are added to the _list member, but never removed, e.g., when ephemeral pages are removed.
Consider replacing getList() with getAndFreeList() since the items on the list are needed only once (I think) during main.buildGui().
Further, consider using the normal list mechanism in Module in place of the manual map, when modules are added later. The two places to change are in main.Gui where management modules are added, and in appinfo.AppInfo, where ephemeral app pages are added.
This can be implemented by removing the "! anonymous" entries in the authenticate() method, and using explicit permissions instead.
We MUST get the unit tests for explicit permissions confirmed to be working correctly and without error before closing this issue.
There is code in the MDbifCommon authorization function to handle authorizing an RPC based on a user's membership in a permission group. That code is commented out. It has typos and has clearly never been tested. Correct this code, and then write unit tests to validate that permission groups are working correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.