A method of instantiating a feature within a web based application comprising:
- providing a server connected to a communications network comprising a first microprocessor and a first memory for storing first computer executable instructions for execution by the first microprocessor;
- providing an electronic device connected to the communications network comprising a second microprocessor and a second memory for storing second computer executable instructions for execution by the first microprocessor;
- wherein
- the first computer executable instructions and the second computer executable instructions provide a user of the electronic device with the ability to instantiate the feature within the web based application upon the electronic device with respect to one or more items of web content employing processes upon the server;
- the feature instantiated is the generation of a first webpage comprising What-You-See-Is-What-You-Get (WYSIWYG) directly editable content from a second webpage;
- and
- the feature is instantiated with a process comprising:
- opening the second webpage within the web based application within a web browser;
- processing every piece of content of the second webpage opened within the web based application upon the server to establish a plurality of identified assets, each identified asset rendered as part of the second webpage;
- processing upon the server each identified asset of the plurality of identified assets with a plurality of copy page algorithms to convert the identified asset from its current source to establish a converted asset within the web based application having the formatting and visible characteristics of the original identified asset where each converted asset is normalized to a common format providing consistent rendering across multiple electronic devices and multiple web browsers;
- establishing within the web based application one or more actions of the user which result in copying a predetermined portion of the plurality of converted assets;
- establishing within the web based application one or more further actions of the user which result in pasting or directing the copied predetermined portion of the plurality of converted assets to generate the first webpage within the web based application;
- manipulating directly within the web based application in dependence upon other user actions within the web based application of the user upon one or more pasted or directly copied converted assets of the plurality of converted assets where the user action is at least one of edit, resize, move, copy, paste, and delete;
- storing the first webpage within a memory of the server;
- wherein
- the plurality of copy page algorithms are arranged in a hierarchy with lowest level algorithms process the second webpage to extract webpage element information and highest level algorithms extract a structure of the second webpage structure comprising inheritance and flow together with normalizing the extracted webpage elements to the common format;
- the plurality of copy page algorithms include copy page algorithms to:
- analyse multiple inheritance of Cascading Style Sheets (CSSs) for the extracted webpage elements and extract the parent CSS;
- measure absolute positions of extracted webpage elements to establish their location, width, and height;
- measure relative positions of extracted webpage elements;
- identify and characterise floating elements within the second webpage whose position is relative to other content dynamically inserted into the second webpage;
- and
- establish a structure of the extracted webpage elements relating to at least one of inline layout and flow layout;
- and
- the predetermined portion of the plurality of converted assets within the second webpage stored in memory are independent of the plurality of identified assets within the second webpage.