Dokumentacja przystosowania zadań generatorowych do aplikacji mobilnych

Podobne dokumenty
Dokumentacja techniczna dla programistów Wieloformatowych Obiektów Multimedialnych i Interaktywnych (WOMI) na platformie epodreczniki.

Kompresja stron internetowych

Szybko, prosto i tanio - ale czy na pewno?

Tworzenie Stron Internetowych. odcinek 9

Podstawy JavaScript ćwiczenia

Zaawansowane aplikacje internetowe

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Dokumentacja imapliteapi

1. Podgląd WOMI z repozytorium treści Podgląd WOMI dla deweloperów zdalnych Wymagania dotyczące tworzenia silników przez partnerów...

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

O stronach www, html itp..

Przykład integracji kalkulatora mbank RATY na platformie IAI

JavaScript funkcyjność

Laboratorium 6 Tworzenie bloga w Zend Framework

XML extensible Markup Language. część 5

Aplikacje WWW - laboratorium

plansoft.org Zmiany w Plansoft.org

FLEX ( ) Przygotowanie środowiska developerskiego Hello world w MXML Hello world w ActionScript

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

JavaScript obiektowość

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Bootstrap. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

MVC w praktyce tworzymy system artykułów. cz. 2

Zdarzenia Zdarzenia onload i onunload

Podstawy (X)HTML i CSS

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Sieciowe Technologie Mobilne. Laboratorium 1

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

TECHNOLOGIE SIECI WEB

XML extensible Markup Language. część 5

Tworzenie Stron Internetowych. odcinek 5

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

Aplikacje WWW - laboratorium

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

Wykład 03 JavaScript. Michał Drabik

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch

Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska

Laboratorium 1: Szablon strony w HTML5

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Tworzenie Stron Internetowych. odcinek 10

Aplikacje WWW - laboratorium

CZYM JEST JAVASCRIPT?

Specyfikacja techniczna kreacji HTML5

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

DOM (Document Object Model)

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Zajęcia 4 - Wprowadzenie do Javascript

Zaawansowane aplikacje internetowe laboratorium REST

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Dokumentacja smsapi wersja 1.4

Bazy Danych i Usługi Sieciowe

Dokumentacja Skryptu Mapy ver.1.1

Instrukcja platformy wideo

Facelets ViewHandler

Aplikacje internetowe

Test przykładowy 2 PAI WSB Wrocław /06/2018

Podstawy programowania w języku JavaScript

Krótki kurs JavaScript

W tej części dowiemy się, jak rozszerzyć WordPress za pomocą JSON-API. Oto kilka rzeczy, które będziemy robić z wtyczką JSON-API:

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński


Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

Jak okiełznać frontend w Django? Piotr Maliński

INSTALACJA I KONFIGURACJA SERWERA PHP.

Podstawowe wykorzystanie Hibernate

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Udostępnianie obrazu z kamer Sanyo HD na stronach WWW PORADNIK

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Wybrane działy Informatyki Stosowanej

Multimedia i interfejsy. Ćwiczenie 5 HTML5

MVC w praktyce tworzymy system artykułów. cz. 1

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Tworzenie Stron Internetowych. odcinek 5

Wykład 6 Skrypty typu JavaScript. Technologie internetowe Zofia Kruczkiewicz

REFERAT O PRACY DYPLOMOWEJ

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Programowanie internetowe

W ogólności znaczniki mogą również posiadać atrybuty które pozwalają wpływać i manipulować własnościami znaczników lub przenosić dodatkowe informacje:

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

Zaawansowany kurs języka Python

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Zaawansowany kurs języka Python

Dokumentacja techniczna API systemu SimPay.pl

SEO Audyt. Podsumowanie. 51/100 punktów. Masz 11 rzeczy, które możesz poprawić! Uzyskany wynik: Data przeprowadzenia: :33:47

Pozycjonowanie i poruszanie warstw

Funkcje i instrukcje języka JavaScript

Transkrypt:

Dokumentacja przystosowania zadań generatorowych do aplikacji mobilnych dla Platformy Technologicznej epodreczniki.pl w wersji 3.0 Poznań, 30 listopada 2015 r.

Spis treści Przygotowanie dodatkowych plików dla wersji offline... 3 Przykładowy plik manifest... 3 Utworzenie plików Javascript w wersji offline... 3 Pousuwanie rozszerzeń.js... 3 Zmiana ścieżek do plików zasobów... 4 Przekazywanie zmiennej require do placeholderapi - do konsultacji z portalem... 4 Od strony bibliotek... 4 Patch do wtyczki text... 4 Od strony portalu (przy update)... 5 Do usunięcia - nieużywane zależności... 5 Rozwinięcie ścieżek do postaci... 5 Usunięcie nazwy modułu... 5 Puste klasy jako placeholdery... 5 Własna implementacja klas... 6 Modyfikacja klas... 6 Od strony generowania... 6 Pliki SVG nie mogą mieć nagłówka... 6 Struktura diva dla generatorowych - na stronie podręcznika... 6 Struktura diva dla generatorowych - w pliku index.html... 7

Przygotowanie dodatkowych plików dla wersji offline Należy przygotować dodatkowy plik offline_womi.js, w którym zostaną uwzględnione zmiany opisane poniżej. Dodatkowo należy zaktualizować plik manifest.json Przykładowy plik manifest manifest.json { "engine": "custom_logic_exercise_womi", "subtype": [ "textbox" ], "version": "0.1", "mainfile": "womi.js", "offlinemainfile": "offline_womi.js", "offlinetitle": "Tytuł widoczny w aplikacji mobilnej", "parameters": { "object": { "heightratio" : 0, "womiids":[] Nowe pola: subtype, offlinemainfile, offlinetitle Przykłady subtype checkbox radio textbox combobox geogebra Utworzenie plików Javascript w wersji offline Dla każdego pliku Javascript, którego zawartość zaczyna się od słowa kluczonego define, należy utworzyć wersję offline w następujący sposób: Skopiować wspomniane pliki Javascript /womi.js /js/functions.js do tych samych ścieżek dodając w nazwie pliku przedrostek offline_ /womi.js /offline_womi.js /js/functions.js /js/offline_functions.js Pousuwanie rozszerzeń.js W każdym pliku Javascript (z przedrostkiem offline_), który posiada na swoim początku define(['./mojplik.js',./js/innyplik.js]) należy usunąć rozszerzenia wczytywanych plików jak pokazano poniżej define(['./mojplik', './js/innyplik'])

również wewnątrz pliku innyplik należy sprawdzić czy nie ma wczytywanych plików Javascript i w razie czego powtórzyć procedurę Zmiana ścieżek do plików zasobów W każdym pliku Javascript (z przedrostkiem offline_), który posiada na swoim początku słowo kluczowe define należy zamienić znak kropki "." na znak dwukropka ":" dla plików zasobów, których wczytywanie poprzedzone jest za pomocą wtyczki "text!". Przykład Przed zamianą define(['require', 'text!./html/body.html', './js/functions'], function (require, body, functions) { Po zamianie define(['require', 'text!:/html/body.html', './js/functions'], function (require, body, functions) { Przekazywanie zmiennej require do placeholderapi - do konsultacji z portalem W każdym pliku Javascript (z przedrostkiem offline_) należy zamienić wywołanie var pa = new papi($(placeholder)) na: var pa = new papi($(placeholder), require) Od strony bibliotek Patch do wtyczki text Wtyczka text do rquire nie działa poprawnie w środowisku file:/// W metodzie load należy wgrać patch // Do not load if it is an empty: url if (url.indexof('empty:') === 0) { onload(); return; // ----------- PATCH --------------- url = url.replace(":", "."); // --------------------------------- //Load the text. Use XHR if possible and in a browser. if (!haslocation usexhr(url, defaultprotocol, defaulthostname, defaultport)) { text.get(url, function (content) { text.finishload(name, parsed.strip, content, onload);, function (err) { if (onload.error) { onload.error(err); ); else {

Od strony portalu (przy update) Do usunięcia - nieużywane zależności 1. Zależność womi (import jako womijs) nie była nigdzie używana 2. Zmienna var handlesvg = require('svg_fallback'); var commonbase = require('common_base'); 3. WOMIMenuLayout - usuwanie 4. if (!Modernizr.touch) { 5. itema.tooltipsy({ 6. alignto: 'element', 7. offset: [-1, 1] 8. ); Rozwinięcie ścieżek do postaci./womicontainerbase -> portal/remote/modules/core/womi/womicontainerbase modules/core/registry -> portal/remote/modules/core/registry Usunięcie nazwy modułu W pliku /epodrecznikiportal/portal/reader/static/reader/js/modules/api/placeholderapi.js należy usunąć nazwę modułu define('placeholder.api', ['declare', 'jquery', 'portal/remote/modules/core/womimanager', 'require', 'reader.api', "underscore"], function (...) na define(['declare', 'jquery', 'portal/remote/modules/core/womimanager', 'require', 'reader.api', "underscore"], function (...) Puste klasy jako placeholdery Nie znaleziono niektórych zależności, ich wpływ powinien być znikomy, zazwyczaj potrzebne są ich flagi /portal/device_detection.js define([], function() { return { ismobile: true, isdesktop: false ); /portal/portal_instance.js define([], function() { return { readerapimodes: { debug: false

); Własna implementacja klas /portal/readerapi.js define(['require', 'jquery', 'declare'], function (require, $, declare) { return declare({ instance: { constructor: function (requirecontext, silent, womipath) {, getfullpath: function(path) { return path;, getmanifest: function (callback, errorcallback, womiid) { require(['text!:/../../womi_gen/' + womiid + '/manifest.json'], function(manifest) { callback(json.parse(manifest)); ); ); ); Modyfikacja klas /portal/placeholderapi.js getwomicontainer if (!skipmanifest) { var parentwomiid = this.placeholder.data('womi-id'); a.getmanifest(loadf, function (ErrorMessage) //Handle error from loading manifest { //console.error("import WOMI error - manifest can't be loaded, fix your manifest file\n" + ErrorMessage); //var errorcontainer = $('<div />', {'class': 'womi-container', 'datatitle': "Błąd", 'html': "Błąd podczas wstawiania WOMI - nie można pobrać manifestu"); //callback(errorcontainer); _this.showerrorimage(_this, errors.no_manifest, womiid, function (womicontainer) { callback(womicontainer); );, parentwomiid); else{ loadf(); Od strony generowania Pliki SVG nie mogą mieć nagłówka <?xml version="1.0" encoding="utf-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> Struktura diva dla generatorowych - na stronie podręcznika <div class="standard-interactive-object momi" data-alt="" data-womi-id="123456" data-object-src="womi/123456/index.html"

data-object-engine="custom_logic_exercise_womi" data-object-engine-version="0.0"> <div class="womi-object-title">zadanie generatorowe</div> <div class="womi-object-desc"></div> <div class="womi-object-status"></div> <div style="position: relative;" class="play-div"> <button class="play-button play-button-interactiveexercise"></button> <img src="womi/123456.png" alt="grafika wypukła." id="" style="width:80%;"></img> </div> </div> Struktura diva dla generatorowych - w pliku index.html <!DOCTYPE html> <html> <head> <title>generatorowe</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="../../js/device/device.js"></script> <script type="text/javascript"> window.require = { baseurl: "./../../js" </script> <script data-main="configs/default_config.js" src="../../js/libs/require.js"></script> <link rel="stylesheet" type="text/css" href="../../mobile_app.css"> </head> <body> <div class="standard-interactive-object momi" data-objectsrc="womi_gen/11584/offline_womi" data-womi-id="11584" data-objectengine="custom_logic_exercise_womi_run" data-object-engine-version="0.1"></div> </body> </html> offline_womi powinno pochodzić z pliku manifest.json Plik index.html znajduje się w katalogu /content/womi/xyz/index.html i jest generowany przez nas.