- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Summary of the 3900 release:
With this release of the Intel XDK the Intel XDK cloud-based build servers and the Publish tab are deprecated and will be retired at the end of June, 2017. Until then, expect no further upgrades and limited support for these features. We have also addressed several bugs and issues found in prior releases. See the Intel XDK release notes for full details.
Significant changes as part of this release include:
- Updated the underlying Node-Webkit runtime (0.18.9).
- Simulate tab is now based on Chromium 54 (due to the NW update).
- The built-in Brackets editor has been updated to the latest version.
- Samples have been updated to support Intel® Gateway IoT development platforms.
- Improved IoT daemon installation, especially for newer Intel IoT platforms.
- Export to Cordova CLI or PhoneGap Build feature.
Features deprecated with this release:
- The Build tab's cloud-based Cordova build system will be retired at the end of June, 2017.
- The Publish tab will also be retired at the end of June, 2017.
When the Intel XDK cloud-based build system is retired itwill no longer be available for use with any version of the Intel XDK. Your mobile app projects will still be recognized as Intel XDK mobile app projects and will continue to work within the Simulate tab. Additionally, the Test tab is still present and can still be used to push your app to App Preview for on-device testing. Please see the new a ref="/en-us/xdk/docs/build-xdk-app-with-phonegap-cordova-cli">Cordova Build Package tile on the Build tab for an alternative to using the now deprecated on-line Cordova build system.
IMPORTANT: As of February, 2017, the Crosswalk Project has been retired. Crosswalk 23 was the last version of the Crosswalk library produced by the Crosswalk Project team. You can continue to build with the Crosswalk library using Cordova CLI or PhoneGap Build, but no further updates to the Crosswalk library will occur beyond version 23 (FYI: the Crosswalk 23 library for Android is based on the Chromium 53 runtime release).
Our automatic updater will notify existing Intel XDK users when the update is available within the Intel XDK. Updates will be released to all users within 24 hours. If you would like the update sooner, you can download it directly from xdk.intel.com and install it manually.
Important note about Intel XDK versions 2893 and older!
Versions of the Intel XDK released prior to March 2016 (2893 and older) can no longer use the Build tab, the Test tab or App Preview and can no longer be used to create custom debug modules for use with the Debug and Profile tabs. This change was necessary to improve the security and performance of our Intel XDK cloud-based build system. If you are currently running version 2893 or older, of the Intel XDK, you must upgrade to the latest version of the Intel XDK!!
------------------------------------------------
Summary of the 3759 release:
With this release of the Intel XDK we officially retired several features that were deprecated in previous product releases. We have also addressed several bugs and issues found in prior releases. See the Intel XDK release notes for full details.
New features added with this release include:
- Web Services Explorer supports IoT projects
- Brackets Live Preview added to Develop tab
- Samples added to support the Intel® Joule™ IoT development board
- Improved IoT daemon installation, especially for Intel Joule platforms
Features retired with this release:
- The Debug tab has been retired.
- The hosted weinre debug server used by the Test tab has been retired.
- The Live Development Pane in the Develop tab has been retired.
- The Game Asset Manager and related samples and templates have been retired.
- Samples and templates that are not useful to developing IoT companion apps have been retired.
- Featured Cordova plugins that are not useful to developing IoT companion apps have been removed.
IMPORTANT: Retirement means no longer available for use with any version of the Intel XDK. Your mobile app projects will still be recognized as Intel XDK mobile app projects and will continue to build (using the Build tab) and work within the Simulate tab. Additionally, the Test tab is still present and can still be used to push your app to App Preview for on-device testing.
Alternatives to using the Debug tab, the hosted weinre server and the Live Development pane can be found in the Intel XDK release notes.
------------------------------------------------
Summary of the 3641 update:
This Intel XDK release addresses installation issues introduced in the prior release. See the release notes for details.
------------------------------------------------
Summary of the 3619 release:
This Intel XDK release addresses several bugs and issues found in prior releases. See the release notes for bug fix details. New features added with this release include:
- Keyword-based filters for new project templates and samples
- New Linux* and Apple* OSX* installers
- New IoT project samples using Microsoft* Azure*
Feature deprecations with this release:
- Debug tab has been deprecated and will be removed in a future release.
- The hosted weinre debug server used by the Test tab has been deprecated and will be removed in a future release.
- The Live Development Pane in the Develop tab has been deprecated and will be removed in a future release.
- The Framework7 and Ionic UI frameworks have been deprecated from App Designer and will be removed in a future release.
IMPORTANT: With this release, the Debug tab, the hosted weinre server associated with the Test tab, and the Live Development pane located on the Develop tab have been deprecated and will be retired in the near future. When these features are retired you will no longer be able to use them with any version of the Intel XDK. Your project will continue to be recognized as an Intel XDK HTML5 mobile app project and it will continue to build (using the Build tab) and work within the Simulate tab. Follow the links embedded in each of the deprecated features listed above for more details and pointers to free open-source alternatives to these deprecated features.
Why is the Debug tab being deprecated and removed from the Intel XDK?
In addition to our previously announced deprecation of support for App Framework, within the App Designer UI editor, we are also deprecating support for the use of the Framework7 and Ionic UI frameworks. You can still use these frameworks outside of the App Designer UI editor, as you have always been able to do with any UI framework. Existing projects that are using deprecated UI frameworks will continue to be recognized by App Designer and can be edited within the App Designer UI editor; however, there will be no bug fixes for deprecated frameworks and, once those frameworks are retired, the App Designer UI editor will no longer recognize those projects.
------------------------------------------------
Summary of the 3522 release:
This Intel XDK release is a hot-fix that addresses several bugs and issues found in the 3491 release:
Crosswalk version 19 is now the default version for newly created projects. This update will warn you of any existing projects using Crosswalk version 18 (or lower). Google does not require that you use Crosswalk 19 (or higher), so this is just a warning, not an error.
Several issues that generated a 'build tab generates ERROR (-7) from "client:upload-manager": Error in zipping package asset files:' error message have been addressed. This primarily impacted Construct2 users who were importing new projects or opening existing projects.
The new Simulate tab did not present the window.screen object correctly. See this forum post for additional details.
Attempting to run some Cordova apps that did not include any plugins would cause the app to crash or generate a 404 error in the Simulate tab. See this forum post for some examples.
Replacing an icon or splash screen with a new file but using the same name for that file would cause an incorrect prompt regarding an invalid resolution. See this forum post for more details.
Intel XDK crashes that resulted in "Error: ENOENT" and "Uncaught TypeError: undefined is not a function" errors when using the Simulate tab.
Use of the <head data-noxhrfix> tag causes the Simulate tab to fail or hang. See this forum post for additional details.
The 750x1334 splash screens (portrait and landscape) have been restored to the iOS Icons and Splash Screens UI.This forum post provides additional details.
A custom require() function was placed into the global namespace by the Simulate tab preventing use of require() within a user app. See this forum thread for additional details.
------------------------------------------------
Summary of the 3491 release:
This very important release merges the Intel XDK IoT Edition and the Intel XDK Early Access into a single release of the Intel XDK. We are moving in the direction of supporting Internet of Things (IoT) app development. Since mobile devices are part of that equation, we continue our support of the development of hybrid Cordova mobile HTML5 apps. For more details regarding this new direction, please read Joe's blog. a
We have made some significant improvements for both IoT and mobile Cordova app development with this release:
- Replacing the Emulate tab with a new Simulate tab.
- Added a new Cordova CLI 6.2.0 build option (CLI 5.1.1 has been deprecated).
- Moved iOS mobile provisioning files, icons and splash screens to a new "package-assets" folder.
- Stability improvements and many bug fixes.
In future releases we will be adding more functionality for IoT app development. We will also be fine-tuning our Cordova mobile app support to align with the needs of IoT app development. As a result, we are deprecating some mobile app development features that are not heavily used or are inconsistent with IoT app development needs.
Feature deprecations and removals with this release:
- Profile tab has been removed. Please use the profiling features available in the Chrome Debug Tool (on the Debug tab).
- Cordova CLI 5.1.1 has been deprecated and will be removed in our next release, likely in September 2016.
- Legacy Windows 8.x build platforms have been deprecated. They are only available using CLI 5.1.1 and 5.4.1. Only Windows 10 UAP builds are supported with CLI 6.2.0. These older Windows 8.x platform builds will be removed in September 2016.
- Game Asset Manager, samples and templates have been deprecated and will be removed in a future release.
- Legacy Whitelist (Android only) was previously deprecated and is no longer available for new projects.
------------------------------------------------
Summary of fixes in the 3400 release:
This Intel XDK release is a hot-fix that addresses several bugs and issues:
- Crashes at startup due to a variety of timeout problems.
- Long startup times due to slow or spotty network connections.
------------------------------------------------
Summary of fixes in the 3357 release:
- The built-in Brackets editor now includes a new "tab view" making it easier to switch between all of your active source files.
- The standard Brackets Extension Manager toolbar is now exposed at the right-hand side of the edit window, where you will find it in a stand-alone install of the Brackets editor.
- The Brackets Git Extension is now more easily accessed, via the standard Brackets Extension Manager toolbar (see above).
- To minimize crashes due to the Emulate tab, the CDT debug window will automatically close when switching away from the Emulate tab, if you have enabled the "auto-refresh" feature of the Emulate tab (this is the default condition).
------------------------------------------------
Summary of fixes in 3240 hotfix release:
- When selecting Apache Cordova* CLI 5.4.1 you were not limited to the minimum target of iOS 8 which resulted in developers attempting to build for unsupported platforms and then building what appear to be non-working apps.
- If the index.html project file was not contained in the "www" directory of the project, The Emulator would display a '404: Intel XDK can't find your app' error.
- In some cases, if the Publisher Display Name was not populated for a Windows* build, the plugin add and subsequent build for Windows would fail. Validation for requiring the Publisher Display Name has been added.
- Corrected an issue where sometimes the plugin manager would not allow a third-party/local plugin to be added to the project.
------------------------------------------------
Summary of new features in 3088/3042:
- We no longer support CLI 4.1.2 builds. Projects that use CLI 4.1.2 MUST be updated.
- Added Cordova CLI 5.4.1 to the Intel XDK build system. See this FAQ for details.
- A new Certificate Management feature allows you to create or import Android certificate keystore files and iOS P12 distribution certificate files.
- The Build tab allows you to build your app for multiple targets with a single mouse click.
- Android and Android-Crosswalk options have been combined into a single target platform in the Build Settings section of the Projects tab.
- Crosswalk support in the Intel XDK is now based on the Crosswalk Webview plugin (AKA "Cordova 4" in Crosswalk docs).
- A new Publish tab has been added to assist you with creating and publishing application assets and information to a variety of Android stores.
- The Windows and Windows Phone build options have been expanded and significantly updated to include Windows 10 Universal Apps. Please use the CLI 5.4.1 build option for your Windows and Windows Phone builds.
- The built-in Brackets editor has been updated to version 1.6 and several new Brackets extensions have been added.
- Whitelist settings in the Build Settings section of the Projects tab have been updated.
- App Preview has been updated (to version 2.8.0). Check the respective stores to be sure you have the latest version.
- Updates to our project file format will require that all projects be "updated" before you can use them with this release.
This release also addresses the Google App Store warning regarding the use of older versions of Cordova-Android. You must migrate your app to our CLI 5.1.1 or CLI 5.4.1 build system to eliminate this warning and to be able to publish apps in the Google App Store after May 9, 2016. Our CLI 5.1.1 build system has been updated to address this issue (see this FAQ for specific details).
- Tags:
- HTML5
- Intel® XDK
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i have installed it when i creata a project it take too long time to create , i am waiting for 15 to 20 minute still saying "DOWNLOADING SELECTED TEMPLATE OR SAMPLE" , simply cannot create a project without any problem , we cannot wait too long to create a project
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is usually caused by network lags or problems with the Amazon S3 services that it uses to store all those bits. Try it again in an hour to see if the delay is still there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No sir it almost create a day for a project , than i created another project and the same problem it takes almost 12 hour to create a project , network is not a problem here
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This version of the XDK (3759) refuses to install on Fedora due to not detecting GTK even though GTK3 and GTK2 are correctly installed on the machine.
I am looking force the product to assume I know what I am doing and not try to hold my hand when it is clearly clueless about my setup.
What steps can I take to install without prerequisite checks? (The prior version installed with no issues. I know how to fix the udev library issue. I also know how to fix the /opt/intel/XDK/xdk/components/client/device-discovery/impl/discovery-iosdb.js file crash).
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Samples and templates that are not useful to developing IoT companion apps have been retired.
- Featured Cordova plugins that are not useful to developing IoT companion apps have been removed.
I hate to ask but since my mobile development platform of choice is XDK, is this version no longer supporting new projects that do mobile development and only provide templates for IoT applications?
I'm not clear on the meaning of "IoT companion apps" and what exactly has been removed from the list of available templates.
Should I be freezing on a different version of XDK and look for a different mobile development platform? Is this the notification for those of us that rely on XDK for mobile development to start our mass exodus from the XDK platform?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Manual installation instructions due to broken GTK detection routine:
1. Download xdk_web_linux64_master_3759.tgz
2. Uninstall prior rpms - intel-xdk, intel-xdk-pset
3. Open terminal
4. cd Downloads
5. tar zxf xdk_web_linux64_master_3759.tgz
6. rpm --install --hash -v xdk_web_linux64_3759/rpm/intel-xdk-pset-3759.0-0.noarch.rpm -p
7. cd /opt/intel
8. tar zxf ~/Downloads/xdk_web_linux64_3759/rpm/intel-xdk-3759.0.0.tgz
9. Report install.sh GTK detection failure
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there a way to download v3619 of the XDK?
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thepjday -- please see this forum thread for more about what an IoT Companion App is > https://software.intel.com/en-us/forums/intel-xdk/topic/700951 < ultimately, it is up to you to decide if our change in focus will still accommodate your development needs.
Regarding installation of the XDK on Fedora has never been a supported configuration, we only test and support installation on Ubuntu. There are download links for 3641, the prior release of the XDK, in the original post on this thread.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
siv b. wrote:
i have installed it when i creata a project it take too long time to create , i am waiting for 15 to 20 minute still saying "DOWNLOADING SELECTED TEMPLATE OR SAMPLE" , simply cannot create a project without any problem , we cannot wait too long to create a project
Have you tried this from a different network connection? We do not have any other reports of such a problem, and we are unable to reproduce the issue. The servers are responding quickly, my suspicion is you are having difficulties installing the Cordova plugins that are used by those samples.
I just tested creation of a new project using the "hello cordova" sample. Each time I tried it the whole process took about one minute to complete. There are several screens that appear during the process, the three that last the longest are shown below, in the order they appear. Which one is the one that you are seeing for hours?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I understand Fedora is not supported. I'm not asking you to support Fedora. I'm asking you to not make it impossible to install on anything other than Ubuntu. I have not seen XDK attempt to FAIL to install when prerequisites are not met. This is the first time that a library has caused an install abort.
I am also asking why we have changed - E.g. Fedora uses a different version of the udev library which causes a crash if not corrected - but XDK still installed previously. Now, we are detecting GTK. I have 2.24 and 3.x installed but your installer can't figure it out - does that make my distribution broken or does that mean your installer is doing more than it should? It's like telling a developer "Please make sure a user enters a number" and the developer makes sure that the number can only be positive.
I think there is a point at which the developer of the installer is trying to protect the user of the application from themselves. This is not a valid use case for a development platform when the user is a developer and this tool is a development platform.
I would suggest that you make dependency failures non-fatal and leave it to the DEVELOPER using the tool to satisfy the dependency. Unless you are publicizing how you detect the version of the pre-requisite, you are creating a scenario where the install is performing magic.
I.e. The install instructions provided will work on any RPM-based system. I can provide the equivalent CPIO version of the same that will run on any platform. The bottom line is that we are developers - we are not folks that need our kleenex held to our noses to sneeze. A dependency can be rectified in many ways, but the detection chosen by the installer may still not be satisfied. Unless the installer is using ldd, there is no guarantee that the installer is detecting reality as opposed to symptoms of possible failure.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll forward you concerns to the install team.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Paul,
Thank you for your XDK update article. I would like to share a big concern I observed in the .apk files builded by XDK (no idea if this happens in other app developer tools)
It happens that if I unzip the .apk files of my app-generated intel XDK, I am able to see all the source code, files, links to my server and basically everything from my app, and worst thing is that the folders and files are totally readable (see the image)
I could basically make reverse engineering from the .apk in less than a minute. This, of course, has severe vulnerability issues, anyone can easily steal my property.
Is there any coding or building strategies that I need to know, can you share? Can anybody help me to create a robust (kind of machine code or at least illegible) apk file or give me some recommendations regarding to this matter before I publish my app?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Frungh -- this is a characteristic of Cordova apps, it is not something that the XDK can do anything about. There are schemes out there to hide data and key information in Cordova apps, some involve special plugins, some involve pulling information from a server, and some are as simple as obfuscating your code before building it. The XDK does not include any tool to support any of these approaches, it's something you'd have to design into your app.
I recommend you search the web for something like "how to secure my Cordova PhoneGap app" -- the XDK creates standard Cordova apps, any solution you find for a Cordova (aka PhoneGap) app should work with your XDK app. Note that some solutions require full access to the "platform" folders in the Cordova project, which is not possible with a cloud-based build system. In those cases you will need to use Cordova CLI directly to build your apps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You want to use Android Studio to do that and write your application in Java which gets compiled down to p-code. But the reality is that even Java can be reverse engineered. The key is to have the secret sauce outside your app and access things through a secure API on a server. No one has access to the secret sauce.
Your other alternative which doesn't work as well is obfuscation. But obfuscation paired with a secure API works but again not as well.
XDK apps are local javascript applications that run inside a application browser window. So act accordingly. And add a license and terms of use that says what users can do with your code. Not everything has to be solved at the code level. And you are not writing NASA software. Neither am I.
You can't hit everything with a hammer cuz not everything is a nail.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OMG ..!!
I have spent a lot of time trying to know why the RSS reader doesn't work with any URL in this version and finally I got the reason .!!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
mattias c. wrote:
I noticed when creating a new project today that App Framework v3 is "marked as decprecated and are no longer being developed or supported by their creators and will be removed from the intel XDK in the future". Which is fine. However i got slightly worried about the "will be removed" part and what it really means, if it just means that we can't start new projects with framework v3. I have a project that depends on App Framework v3. So im just wondering if I still will be able to work with that project and update/build etc with it even if it is "removed"?
Existing App Designer projects that rely on a deprecated UI widget library will continue to work within the App Designer editor. However, no updates to App Designer are being made to support those deprecated UI libraries, which means that bugs in App Designer are not being fixed for any deprecated UI libraries.
The only UI widget library that will continue to receive support, in the form of bug fixes and/or enhancements, is the Twitter Bootstrap UI library.
New App Designer projects can only be started using the Twitter Bootstrap UI widget library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@paul Thanks for the reply!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@paul
Hi, its been a while I updated any of my apps on the playstore and I am trying to do that at the moment.
In the reference video of "Upgrading an existing project to Ver. 3088", the caution sign shows "only legacy certificate(s) found." as shown in the 3rd image below.
In my version 3759, the caution sign shows "No certificate found." as in the image below.
I have opened over 10 projects and all show; " No certificate(s) found."
Kindly advise on how to get the certificate i can use for the playstore.
I created a new certificate/keystore and i get this error message when i try to upload the apk to the playstore.
You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate.
Your existing APKs are signed with the certificate(s) with fingerprint(s):
The second image illustrates that.
Kindly advise on next steps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Alfred:
Do any of the following conditions apply to you?
-
If you are using an account that was created subsequent to the 3088 release, there will be no legacy certificate available to convert.
-
If you are using an account that was created prior to the 3088 release, and never converted the legacy certificate, it should be available to convert using the certificate manager (the first image shown below, the name "android-legacy" was created by me when I converted mine, that is not automatic).
-
If you previously converted your legacy certificate, and then deleted it (using the "garbage can" icon), you need to put it back (assuming you downloaded it using the "down arrow" icon), using the "Import existing keystore." If you deleted it and did not download it, you will not be able to put it back.
-
If you used a different account to build those apps (prior to 3088) and are now using a new account, you need to login using the old account to see your legacy certificate (assuming you did not previously convert it and delete it) or put the old one back that you converted and downloaded (if you did that with the old one).
What do you see when you go here? (see the image below):
You will see the same list when you select the "Developer Certificate" option:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Paul F. (Intel) wrote:
Do any of the following conditions apply to you?
If you are using an account that was created subsequent to the 3088 release, there will be no legacy certificate available to convert. My account was created late 2014
If you are using an account that was created prior to the 3088 release, and never converted the legacy certificate, it should be available to convert using the certificate manager (the first image shown below, the name "android-legacy" was created by me when I converted mine, that is not automatic). This is my case, but the icon in question for conversion is not visible.
If you previously converted your legacy certificate, and then deleted it (using the "garbage can" icon), you need to put it back (assuming you downloaded it using the "down arrow" icon), using the "Import existing keystore." If you deleted it and did not download it, you will not be able to put it back. I never converted the legacy certificate. i only remember creating a new one a few days ago when i updated.
If you used a different account to build those apps (prior to 3088) and are now using a new account, you need to login using the old account to see your legacy certificate (assuming you did not previously convert it and delete it) or put the old one back that you converted and downloaded (if you did that with the old one). I have only one account.
What do you see when you go here? (see the image below): In my case, there is no list.
You will see the same list when you select the "Developer Certificate" option: There is just no list there.
That's the issue. I don't have the option to convert a legacy certificate.
![](/skins/images/45C6C2D737ED71F4C51F0145C8CB1E9C/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page