uncatcrea / wp-appkit Goto Github PK
View Code? Open in Web Editor NEWWP-AppKit WordPress plugin (create mobile apps connected to WordPress)
Home Page: http://uncategorized-creations.com/
WP-AppKit WordPress plugin (create mobile apps connected to WordPress)
Home Page: http://uncategorized-creations.com/
In the WordPress app's panel, the View config.xml link of the PhoneGap config.xml data metabox should open a new window.
When the app version is empty (and has always been), Stats.getVersionDiff() returns an object with NaN as "diff" value.
I guess if someone is using plain text versions (e.g. 'october'), the same problem will appear.
The direct consequence is that "app-version-changed" event is always fired, even if the version didn't really change.
version_compare should probably behave differently if one of the version values is not a number, what do you think?
Based on https://github.com/lpointet/wp-app-kit/tree/feature_ui fork
Why not using WordPress nonces instead of wp-app-kit tokens?
Offering a "Universal" platform option when creating/editing an application would be a good goal to aim for after the beta so that Phonegap Build can compile apps for each platform from one zip file, yet still offering the ability to keep apps per platform separate is also a good option as not everybody will want the same UI/UX per platform.
When placing a function call in the screen:showed event, it seems to be called twice (?).
WordPress should be spelled with a capital P, and not lowercase one. There are some strings spelling it "Wordpress" in the plugin that should be updated.
See http://codex.wordpress.org/Function_Reference/capital_P_dangit :)
In the only post on https://www.hammyhavoc.com, https://www.hammyhavoc.com/wp-content/uploads/wpak_unavailable_media.png appears as an image randomly in the post where a hyperlink should be rather than any kind of image, this doesn't seem to be down to any particular WP-AppKit theme, I've tried it using the following:
The paragraph snippet is as follows:
Myself, <a title="Dan Booth Presents The Boo Tube" href="http://www.thebootube.com">Dan</a>, <a title="The Alice Jones Official Website" href="http://www.thealicejones.com">Alice</a> and <a title="Bryan Desrosiers Official Website" href="http://www.bryandesrosiers.com">Bryan</a> are hard at work to bring Previous Magazine in new ways to our cult following, we're especially eager to get into video content as a publication as well as individually yet in a collaborative way within our scene and working with some old friends of mine including <a title="Puma Yage TV's YouTube Channel" href="https://www.youtube.com/channel/UCHRS7NDZcLvvGkEGKF-fDpg">Puma Yage</a>.
<h2>My gear so far in 2014</h2>
I've temporarily made the app public, you can view it here if you want to take a look at the source: https://www.hammyhavoc.com/wp-content/plugins/wp-app-kit/app/index.html?wpak_app_id=hammy-havoc-ios#single/posts/929
This issue has been created for changelog reference
this issue has been created for changelog reference
We need to change the themes' folder location. Themes have to be outside the plugin's folder to allow plugin updates without impacting themes. Themes will be located in the wp-content folder.
Commits
I updated source code and when I edited my application, I just saw the following error:
Notice: Undefined index: with_subtree in (...)wp-content\plugins\wp-app-kit\lib\components\components-types\page.php on line 178
Since InApp Browser and Network Info plugins are automatically added to config.xml, tags regarding splashscreens and icons are no more added (even present in the Phonegap config.xml data metabox.
In core, it appears we use navigator.splashscreen.hide(). However support is clear that it needs the Splashscreen PhoneGap plugin. It means core is dependent on this core plugin. How do we handle that?
Displayed data is retrieved from several meta values, and are included as is into input and textarea attributes. I think we should secure a bit more this and escape these values to avoid someone being able to update metas to include some hacks into them.
Maybe there are some other similar cases to handle (other meta boxes), I just didn't search.
It appears that binding online and offline events doesn't work in functions.js. After a bit of search and help from the PGB support, the following minimal app works.
<!DOCTYPE html>
<html>
<head>
<script src="phonegap.js"></script>
<script type="text/javascript">
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
}
function onDeviceReady() {
alert('device is ready');
}
function onOnline(){
alert('Device is Online');
}
function onOffline(){
alert('Device is Offline');
}
</script>
</head>
<body onload="onLoad()">
Testing PGB solution
</body>
</html>
We should implement that in the core and provide theme events to access offline and online events.
this issue has been created for changelog reference
Themes need metadata (eg. title, version, platform...) and these metadata have to be exposed in the application's Edit panel.
Commits
When network is not available or retrieving data from WS fails, refresh:end event if triggered. At the moment, we don't have the required feedback to know if the call has worked or not.
Apparently App.on('erroe') is never fired.
The template tag getPageAriane() is incomprehensible outside French context. It should be getPageBreadcrumb().
Adding a new component is easy. The plugin will take care of the corresponding slug by sanitizing the name, as WordPress is doing for new posts.
Problem is when the user edit a component, they are able to update the slug and then include all sorts of characters, even with accents or special ones. No sanitization will ever occur and this will lead to a broken component.
Maybe the solution is to force slug even when updating a component (user don't have the choice), or force the slug once forever at the creation (it's internal only, so why not?), or simply sanitize again at slug update.
We should dynamically show/hide fields that we know are platform-specific when the user chooses one of the available platforms (iOS / Android).
We need to define which fields from "PhoneGap Build" metabox are "mandatory" for the corresponding checklist element to be "OK".
What I propose is the following:
What do you think?
We should define texts that show up in each metabox when the user clicks on the dedicated link.
Based on https://github.com/lpointet/wp-app-kit/tree/feature_ui fork
Would be very useful to be able to check that we're displaying the default screen in functions.js.
I propose to use current_screen.is_default_screen
for that (?).
We only accept woff files in themes. We have to also accept woff2.
It appears that when using the StatusBar PhoneGap plugin, the status bar configuration is done after the splashscreen is hidden. Ideally, we should have a way to hook as early as possible (i.e. before the layout is done).
POT file is basically a PO file with an empty translation.
This would help translators to create a new language for the plugin without having to re-parse the whole source, with the risk not to think of every parameters to catch all strings available.
Right now, if I have a Custom Post Type and I want to create a component that just lists all posts in this CPT, it is not possible (without using hooks) because we necessarily have to choose a taxonomy term for the component to be valid.
I think that in the taxonomy terms dropdown, we should add something like a "None" (or "All" ? or "Don't filter by taxonomy term" ? ) choice.
Lionel I assign that to you because I feel like it is part of the new UI devs, but if not I can totally handle this after you finish your first version :)
I've bumped into the following bug:
We should enhance the duplicate detection to avoid this case.
Based on https://github.com/lpointet/wp-app-kit/tree/feature_ui fork
x Page content doesn't show up
Expected result: page content shows up as app should default on the single.html template.
According to this note: 9a078a9#diff-f59896808722f6dbf6516a5ffa77c9e0R46
Description should be updated to reflect the app's behaviour. Suggestions welcome.
Related to #9, I has this error too:
Notice: Undefined index: post_type in (...)wp-content\plugins\wp-app-kit\lib\components\components-types\page.php on line 180
Based on https://github.com/lpointet/wp-app-kit/tree/feature_ui fork
Trying to add a new component with single or double quotes will lead to escaping problems.
Single quote: you will see a backslash before it into the name column and "Edit" input field.
Double quote: you will see a backslash before it into the name column and you will only see the backslash into the name "Edit" input fiel (everything else after backslash won't show up).
Hi all!
I started some tests and saw this type of error while trying to open synchronization URL:
( ! ) Strict standards: Non-static method WpakWebServiceCrud::read() should not be called statically in C:\wamp\www\wordpress\wp-content\plugins\wp-app-kit\lib\web-services\web-services.php on line 115
This is due to WpakWebServiceCrud methods which aren't declared as static but are only statically called (e.g. WpakWebServiceCrud::read()). I didn't check if any other class is concerned, but fix is really simple here :).
Will continue testing...
UI problem: help texts clutters the edit panel metaboxes
Proposed solution:
Space for hidden texts is not reserved to avoid strange white gaps between inputs. It implies that when texts are shown, the height of the metabox grows
Optional:
Based on https://github.com/lpointet/wp-app-kit/tree/feature_ui fork
By default, the webview has a bounce effect (notably iOS). It has interfered with the scroll. We have to disable it by default using preferences in the config.xml.
By default an iOS config.xml file has to contain:
<preference name="DisallowOverscroll" value="true" />
<preference name="webviewbounce" value="false" />
By default an Android file has to contain:
<preference name="disallowOverscroll" value="true" />
<preference name="webviewbounce" value="false" />
Yes there is a subtle difference between the 2 (D and d of the disallowOverscroll).
See that link for more info: http://chrisgriffith.wordpress.com/2014/10/10/phonegap-development-mistakes-and-how-to-avoid-them/
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.