This document provides a 10-step guide for upgrading a Typo3 website from version 3.8.0 to 4.2.0 while also upgrading the PHP version from 4 to 5. The steps include backing up the site, downloading the new Typo3 files, replacing old files with new ones locally and then on the server, switching the server to parse files with PHP 5, copying the database, running the Typo3 install tool, clearing caches, checking for errors and adjustments needed, and additional tasks like changing file paths and character encodings. Proper testing and validation of the upgraded site is recommended at each step.
The document provides a tutorial for creating R packages under Windows. It outlines the steps to set up the necessary development environment by downloading and installing Rtools, a compiler, Perl, LaTeX, and setting the PATH variable. The key steps for creating a package include: 1) Creating the directory structure with DESCRIPTION, NAMESPACE and subdirectories for code and documentation; 2) Modifying the DESCRIPTION file with package metadata; 3) Creating the NAMESPACE file to export functions; 4) Writing R functions and examples to test them; 5) Compiling any C/C++ code; and 6) Creating documentation files. The tutorial provides a sample package ("test") to demonstrate the process.
This document provides steps to add Informix support to an existing PHP development environment using a LAMP (Linux, Apache, MySQL, PHP) stack. It describes downloading and installing XAMPP to set up the LAMP components, then downloading and installing the Informix database engine and Informix Client Software Development Kit (CSDK). Key steps include extracting the downloaded Informix packages, modifying permissions on installation files, running installation programs, verifying the PHP and database installations are working properly, and preparing to connect PHP to Informix using the CSDK libraries.
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coretimohund
This presentation shows, how we use travis-ci.org and scrutinizer-ci.com to keep our extension uptodate with the TYPO3 core. Beside that we show what could be next for EXT:solr in the next year.
The document discusses working with files in C++. It explains that files are used to store large amounts of data on storage devices like hard disks. Files contain related data organized in a specific area. Programs can perform read and write operations on files using file streams as an interface. There are three main file stream classes - ifstream for input, ofstream for output, and fstream for both. The document outlines how to open, read from, write to, and close files, and manipulate file pointers to control reading and writing locations within a file.
PHP LFI to Arbitrary Code Execution via rfc1867 file upload temporary filesAttaporn Ninsuwan
This document discusses exploiting PHP local file inclusion (LFI) vulnerabilities to achieve arbitrary code execution by including PHP's temporary upload files. On Windows, the random filenames for these temporary files can be brute forced since only the lower 16 bits of the random number are used, limiting possibilities to 65,535 files. On Linux, including these temporary files may be possible if an attacker can list files in the upload directory via a race condition or view the PHP $_FILES array.
The document contains 22 multiple choice questions related to Linux system administration. It tests knowledge in areas like network configuration, user management, printing services, kernel modules, and backup utilities. The correct answers are also provided.
Power point on linux commands,appache,php,mysql,html,css,web 2.0venkatakrishnan k
Linux is a widely used open-source operating system that can run on desktops, servers, and embedded devices. The document provides basic commands for Linux like cal to view a calendar, date to check the date and time, and cd to change directories. It also gives an overview of installing and configuring web servers like Apache and PHP as well as databases like MySQL on a Linux system.
The document provides a tutorial for creating R packages under Windows. It outlines the steps to set up the necessary development environment by downloading and installing Rtools, a compiler, Perl, LaTeX, and setting the PATH variable. The key steps for creating a package include: 1) Creating the directory structure with DESCRIPTION, NAMESPACE and subdirectories for code and documentation; 2) Modifying the DESCRIPTION file with package metadata; 3) Creating the NAMESPACE file to export functions; 4) Writing R functions and examples to test them; 5) Compiling any C/C++ code; and 6) Creating documentation files. The tutorial provides a sample package ("test") to demonstrate the process.
This document provides steps to add Informix support to an existing PHP development environment using a LAMP (Linux, Apache, MySQL, PHP) stack. It describes downloading and installing XAMPP to set up the LAMP components, then downloading and installing the Informix database engine and Informix Client Software Development Kit (CSDK). Key steps include extracting the downloaded Informix packages, modifying permissions on installation files, running installation programs, verifying the PHP and database installations are working properly, and preparing to connect PHP to Informix using the CSDK libraries.
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coretimohund
This presentation shows, how we use travis-ci.org and scrutinizer-ci.com to keep our extension uptodate with the TYPO3 core. Beside that we show what could be next for EXT:solr in the next year.
The document discusses working with files in C++. It explains that files are used to store large amounts of data on storage devices like hard disks. Files contain related data organized in a specific area. Programs can perform read and write operations on files using file streams as an interface. There are three main file stream classes - ifstream for input, ofstream for output, and fstream for both. The document outlines how to open, read from, write to, and close files, and manipulate file pointers to control reading and writing locations within a file.
PHP LFI to Arbitrary Code Execution via rfc1867 file upload temporary filesAttaporn Ninsuwan
This document discusses exploiting PHP local file inclusion (LFI) vulnerabilities to achieve arbitrary code execution by including PHP's temporary upload files. On Windows, the random filenames for these temporary files can be brute forced since only the lower 16 bits of the random number are used, limiting possibilities to 65,535 files. On Linux, including these temporary files may be possible if an attacker can list files in the upload directory via a race condition or view the PHP $_FILES array.
The document contains 22 multiple choice questions related to Linux system administration. It tests knowledge in areas like network configuration, user management, printing services, kernel modules, and backup utilities. The correct answers are also provided.
Power point on linux commands,appache,php,mysql,html,css,web 2.0venkatakrishnan k
Linux is a widely used open-source operating system that can run on desktops, servers, and embedded devices. The document provides basic commands for Linux like cal to view a calendar, date to check the date and time, and cd to change directories. It also gives an overview of installing and configuring web servers like Apache and PHP as well as databases like MySQL on a Linux system.
Robocopy is a command-line tool used for file replication and maintaining identical copies of directory structures. It allows copying of single directories or entire directory trees recursively. New features in version XP010 include copying junctions, acting on more file attributes, selecting files by last access date, copying very long path names, and monitoring a directory tree for changes.
Linux is a widely used open-source operating system that can run on desktops, servers, and embedded devices. It includes basic commands like cal, date, cd, and cat. The document also provides overviews of installing and configuring the Apache web server, PHP, and MySQL to set up a basic LAMP stack on a Linux system.
This document is a tutorial for preparing for the Linux Professional Institute's 101 certification exam. It covers various topics related to Linux system administration, including system and network documentation, the Linux permissions model, user account management, and customizing the user environment. The tutorial is presented in multiple sections and includes examples, descriptions of key concepts, and review questions to help reinforce the material. It aims to provide readers with the foundational Linux skills needed to pass the LPI 101 exam and become a Linux system administrator.
This document provides an overview of basic Linux administration skills needed to prepare for the Linux Professional Institute's 101 certification exam. It discusses regular expressions for searching files, the Filesystem Hierarchy Standard for organizing directories, and tools for finding files on a Linux system. The tutorial covers using regular expression metacharacters like ., [], *, ^, and $ to match patterns in text. It explains the FHS specifications for separating shareable, unshareable, static, and variable files into directories like /usr, /etc, /var, and /opt. Finally, it introduces finding files using the PATH, locate, find, and whereis commands.
Openfire xmpp server on windows server 2012 r2 with spark ssolaonap166
1. The document provides step-by-step instructions for configuring single sign-on between an Openfire XMPP server and Spark client on Windows Server 2012 R2 using Kerberos authentication. It describes setting up Active Directory, installing and configuring Openfire and Spark, and modifying registry settings to enable Kerberos ticket sharing. The configuration involves creating service principals, a keytab file, GSSAPI and Kerberos configuration files, and enabling SASL in Openfire. Testing is done on virtual machines for a domain controller, Openfire server, and Spark client.
Presentation me and Julien Chable did at the DII workshop in Brussels, december 2, 2008 - http://blog.maartenballiauw.be/post/2008/11/28/Presenting-at-the-OpenXML-DII-workshop-Brussels.aspx
This document provides instructions for setting up APIs in R for Facebook, Twitter, and YouTube data. It explains how to download and install R and RStudio, set up the Facebook and Twitter APIs by obtaining app IDs and secrets, and provides code samples to download the first batch of data from each platform, such as 100 Facebook posts or a specified number of tweets. It also discusses saving the social media data to CSV files.
The document summarizes a student's final project to create a batch file virus hosted on a USB drive. The virus copies and deletes files from targeted directories and fills the space with junk files. The student reformatted the USB drive to have a CDFS partition containing the virus files, which allowed auto-execution on Windows computers. Testing was done using virtual machines. The student discusses challenges faced and ways the virus could be improved, such as disabling security software and persisting after reboots. The project helped the student better understand malicious software and batch file programming.
Apache Solr for TYPO3 Components & Review 2016timohund
The document discusses the Apache Solr extensions for TYPO3: EXT:solr for indexing pages and records, EXT:solrfal for indexing files, and EXT:solrfluid for fluid templates. It summarizes the developments and releases in 2016, including updates for TYPO3 7.6 and PHP 7.0, improved documentation, and new features like field collapsing and variants. The author invites involvement through GitHub, Slack, or becoming an extension partner.
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryMassimo Menichinelli
DIGITAL FABRICATION STUDIO (25438)
The course provides a general understanding on how to design and manufacture products and prototypes in a Fab Lab, using digital fabrication technologies and understanding their features and limits.
Students will learn how information shapes design, manufacturing and collaboration processes and artifacts in a Fab Lab. They will learn how to digitally fabricate a project or how to digitally modify an existing project; students will also learn how to manage, embed and retrieve information about a project. Projects and prototypes developed and manufactured in this course will not be interactive.
The course consists of lectures and a group project to be digitally fabricated, be it a project already designed but not yet realized or be it the modification of an existing project. Every lecture (3 hours) includes time for testing the technologies covered (1 hour) and for developing part of the group project and for receiving feedback about it (1 hour).
http://mlab.taik.fi/studies/courses/course?id=1963
This document provides instructions and assignments for students taking the POS 433 UNIX Networking course. It outlines assignments for each week, which involve completing SkillSoft online courses on UNIX topics, independent research, and completing worksheets and scripts. Week 1 involves comparing UNIX and Linux operating systems. Week 2 covers file processing commands and a directory log assignment. Week 3 focuses on shell scripting with three scripting assignments. Week 4 has a systems administration scripting log. Week 5 consists of a group critique and presentation on UNIX, Linux and Windows Server, as well as an individual paper on a UNIX networking article. The document provides detailed instructions for each weekly assignment.
This document provides instructions for a POS 433 assignment involving file processing commands in Linux. It includes questions to test the student's knowledge of commands like cut, grep, sort, uniq, and who. The student is asked to demonstrate using these commands to retrieve information from files like /etc/passwd and from sample files they are instructed to create, showing both the commands used and the output generated.
This document provides an overview of Linux file management, including how to perform basic file operations like copying, moving, renaming files, and searching for patterns within files. It also describes how to use the vi text editor, compress files using tar and zip utilities, and create both soft and hard links between files on the Linux system. The outline indicates it will also cover file permissions and directory management in upcoming sections.
TYPO3 is an advanced content management system (CMS) for web applications that is flexible but also known to be difficult to learn. The document provides a beginner's guide to installing and using TYPO3, including basic requirements like having Apache, MySQL, and PHP installed. It recommends downloading version 6.x or higher and describes how to install TYPO3 on Linux by extracting files and creating symbolic links. It also gives an overview of basic TYPO3 functionality like using the install tool, editing page properties, and creating a page structure and template.
The document provides an introduction to event-driven programming and forms using Delphi. It discusses files and dialogs, including file processing routines for input and output, common file types, and examples of using files. It also covers media players, open and save dialogs, and the TFileRun component for executing files. Key points include how to assign, read from, write to, and close files, as well as how open and save dialogs can be used to select files without directly opening or saving them.
This web-based tutorial introduces graduate students to comparative genomics and key computational methods for identifying functionally linked genes, including the Rosetta Stone, Phylogenetic Profile, conserved Gene Neighbor, and Operon methods. The tutorial uses the E. coli otsA gene as an example to demonstrate four databases: STRING, GenoList, RegulonDB, and the Database of Interacting Proteins. Student evaluations found the tutorial was highly rated and effective at teaching comparative genomics concepts and preparing students to use relevant web resources and databases.
This document provides a tutorial for creating a content management system (CMS) using InterAKT Online tools. The tutorial will guide the creation of:
1. Front-end pages for browsing articles, including a navigation menu, article lists, and individual article pages.
2. Back-end pages for managing articles, including an article list with editing/deleting, and a form for adding/editing articles.
Key features that will be implemented include adding, editing, and deleting articles; displaying article lists and content; auto-archiving old articles; and improving administration forms. The tutorial is estimated to take 80-100 minutes and will utilize products like MX User Login, MX Includes, Ne
This document provides an introduction and overview of the Perl programming language. It discusses the history and uses of Perl, basic Perl syntax and data types, control structures, functions, input/output, and how to use Perl for CGI web development. The key points covered include the origins and popularity of Perl, its pros and cons, how to write "Hello World" programs, define variables and data types, use conditional and loop statements, define and call functions, perform I/O, and generate HTML using CGI.pm for building dynamic web pages and applications with Perl.
This document outlines a lecture on building dynamic web applications with XML. The learning objectives are to understand fundamentals of dynamic web apps and how to apply technologies like HTML, CSS, JavaScript and XML to introduce dynamic behavior to web pages. The lecture will compare Web 1.0 and Web 2.0 and cover web standards, asynchronous communication and JavaScript frameworks. A tutorial will demonstrate incorporating simple dynamic behavior.
1) The document discusses making web applications accessible to users with JavaScript disabled or who are using older browsers/mobile devices (1.0 users).
2) It provides examples of problems that can arise if a site requires JavaScript, like not being able to add an event on a site that uses JavaScript for that functionality.
3) The document suggests coding sites like it was 1999 by following web standards and building a functional site without JavaScript, then enhancing it with JavaScript if available rather than requiring it.
This document provides instructions for Laboratory Assignment 2 for the course CMPE 118/218 Introduction to Mechatronics. The assignment involves designing, building, and programming a simple motorized platform using SolidWorks, CorelDraw, and a laser cutter. Students must complete three parts: 1) designing the platform components in CAD software; 2) cutting out parts from foamcore and MDF using the laser cutter; and 3) building a working detector circuit to control the motors.
Robocopy is a command-line tool used for file replication and maintaining identical copies of directory structures. It allows copying of single directories or entire directory trees recursively. New features in version XP010 include copying junctions, acting on more file attributes, selecting files by last access date, copying very long path names, and monitoring a directory tree for changes.
Linux is a widely used open-source operating system that can run on desktops, servers, and embedded devices. It includes basic commands like cal, date, cd, and cat. The document also provides overviews of installing and configuring the Apache web server, PHP, and MySQL to set up a basic LAMP stack on a Linux system.
This document is a tutorial for preparing for the Linux Professional Institute's 101 certification exam. It covers various topics related to Linux system administration, including system and network documentation, the Linux permissions model, user account management, and customizing the user environment. The tutorial is presented in multiple sections and includes examples, descriptions of key concepts, and review questions to help reinforce the material. It aims to provide readers with the foundational Linux skills needed to pass the LPI 101 exam and become a Linux system administrator.
This document provides an overview of basic Linux administration skills needed to prepare for the Linux Professional Institute's 101 certification exam. It discusses regular expressions for searching files, the Filesystem Hierarchy Standard for organizing directories, and tools for finding files on a Linux system. The tutorial covers using regular expression metacharacters like ., [], *, ^, and $ to match patterns in text. It explains the FHS specifications for separating shareable, unshareable, static, and variable files into directories like /usr, /etc, /var, and /opt. Finally, it introduces finding files using the PATH, locate, find, and whereis commands.
Openfire xmpp server on windows server 2012 r2 with spark ssolaonap166
1. The document provides step-by-step instructions for configuring single sign-on between an Openfire XMPP server and Spark client on Windows Server 2012 R2 using Kerberos authentication. It describes setting up Active Directory, installing and configuring Openfire and Spark, and modifying registry settings to enable Kerberos ticket sharing. The configuration involves creating service principals, a keytab file, GSSAPI and Kerberos configuration files, and enabling SASL in Openfire. Testing is done on virtual machines for a domain controller, Openfire server, and Spark client.
Presentation me and Julien Chable did at the DII workshop in Brussels, december 2, 2008 - http://blog.maartenballiauw.be/post/2008/11/28/Presenting-at-the-OpenXML-DII-workshop-Brussels.aspx
This document provides instructions for setting up APIs in R for Facebook, Twitter, and YouTube data. It explains how to download and install R and RStudio, set up the Facebook and Twitter APIs by obtaining app IDs and secrets, and provides code samples to download the first batch of data from each platform, such as 100 Facebook posts or a specified number of tweets. It also discusses saving the social media data to CSV files.
The document summarizes a student's final project to create a batch file virus hosted on a USB drive. The virus copies and deletes files from targeted directories and fills the space with junk files. The student reformatted the USB drive to have a CDFS partition containing the virus files, which allowed auto-execution on Windows computers. Testing was done using virtual machines. The student discusses challenges faced and ways the virus could be improved, such as disabling security software and persisting after reboots. The project helped the student better understand malicious software and batch file programming.
Apache Solr for TYPO3 Components & Review 2016timohund
The document discusses the Apache Solr extensions for TYPO3: EXT:solr for indexing pages and records, EXT:solrfal for indexing files, and EXT:solrfluid for fluid templates. It summarizes the developments and releases in 2016, including updates for TYPO3 7.6 and PHP 7.0, improved documentation, and new features like field collapsing and variants. The author invites involvement through GitHub, Slack, or becoming an extension partner.
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryMassimo Menichinelli
DIGITAL FABRICATION STUDIO (25438)
The course provides a general understanding on how to design and manufacture products and prototypes in a Fab Lab, using digital fabrication technologies and understanding their features and limits.
Students will learn how information shapes design, manufacturing and collaboration processes and artifacts in a Fab Lab. They will learn how to digitally fabricate a project or how to digitally modify an existing project; students will also learn how to manage, embed and retrieve information about a project. Projects and prototypes developed and manufactured in this course will not be interactive.
The course consists of lectures and a group project to be digitally fabricated, be it a project already designed but not yet realized or be it the modification of an existing project. Every lecture (3 hours) includes time for testing the technologies covered (1 hour) and for developing part of the group project and for receiving feedback about it (1 hour).
http://mlab.taik.fi/studies/courses/course?id=1963
This document provides instructions and assignments for students taking the POS 433 UNIX Networking course. It outlines assignments for each week, which involve completing SkillSoft online courses on UNIX topics, independent research, and completing worksheets and scripts. Week 1 involves comparing UNIX and Linux operating systems. Week 2 covers file processing commands and a directory log assignment. Week 3 focuses on shell scripting with three scripting assignments. Week 4 has a systems administration scripting log. Week 5 consists of a group critique and presentation on UNIX, Linux and Windows Server, as well as an individual paper on a UNIX networking article. The document provides detailed instructions for each weekly assignment.
This document provides instructions for a POS 433 assignment involving file processing commands in Linux. It includes questions to test the student's knowledge of commands like cut, grep, sort, uniq, and who. The student is asked to demonstrate using these commands to retrieve information from files like /etc/passwd and from sample files they are instructed to create, showing both the commands used and the output generated.
This document provides an overview of Linux file management, including how to perform basic file operations like copying, moving, renaming files, and searching for patterns within files. It also describes how to use the vi text editor, compress files using tar and zip utilities, and create both soft and hard links between files on the Linux system. The outline indicates it will also cover file permissions and directory management in upcoming sections.
TYPO3 is an advanced content management system (CMS) for web applications that is flexible but also known to be difficult to learn. The document provides a beginner's guide to installing and using TYPO3, including basic requirements like having Apache, MySQL, and PHP installed. It recommends downloading version 6.x or higher and describes how to install TYPO3 on Linux by extracting files and creating symbolic links. It also gives an overview of basic TYPO3 functionality like using the install tool, editing page properties, and creating a page structure and template.
The document provides an introduction to event-driven programming and forms using Delphi. It discusses files and dialogs, including file processing routines for input and output, common file types, and examples of using files. It also covers media players, open and save dialogs, and the TFileRun component for executing files. Key points include how to assign, read from, write to, and close files, as well as how open and save dialogs can be used to select files without directly opening or saving them.
This web-based tutorial introduces graduate students to comparative genomics and key computational methods for identifying functionally linked genes, including the Rosetta Stone, Phylogenetic Profile, conserved Gene Neighbor, and Operon methods. The tutorial uses the E. coli otsA gene as an example to demonstrate four databases: STRING, GenoList, RegulonDB, and the Database of Interacting Proteins. Student evaluations found the tutorial was highly rated and effective at teaching comparative genomics concepts and preparing students to use relevant web resources and databases.
This document provides a tutorial for creating a content management system (CMS) using InterAKT Online tools. The tutorial will guide the creation of:
1. Front-end pages for browsing articles, including a navigation menu, article lists, and individual article pages.
2. Back-end pages for managing articles, including an article list with editing/deleting, and a form for adding/editing articles.
Key features that will be implemented include adding, editing, and deleting articles; displaying article lists and content; auto-archiving old articles; and improving administration forms. The tutorial is estimated to take 80-100 minutes and will utilize products like MX User Login, MX Includes, Ne
This document provides an introduction and overview of the Perl programming language. It discusses the history and uses of Perl, basic Perl syntax and data types, control structures, functions, input/output, and how to use Perl for CGI web development. The key points covered include the origins and popularity of Perl, its pros and cons, how to write "Hello World" programs, define variables and data types, use conditional and loop statements, define and call functions, perform I/O, and generate HTML using CGI.pm for building dynamic web pages and applications with Perl.
This document outlines a lecture on building dynamic web applications with XML. The learning objectives are to understand fundamentals of dynamic web apps and how to apply technologies like HTML, CSS, JavaScript and XML to introduce dynamic behavior to web pages. The lecture will compare Web 1.0 and Web 2.0 and cover web standards, asynchronous communication and JavaScript frameworks. A tutorial will demonstrate incorporating simple dynamic behavior.
1) The document discusses making web applications accessible to users with JavaScript disabled or who are using older browsers/mobile devices (1.0 users).
2) It provides examples of problems that can arise if a site requires JavaScript, like not being able to add an event on a site that uses JavaScript for that functionality.
3) The document suggests coding sites like it was 1999 by following web standards and building a functional site without JavaScript, then enhancing it with JavaScript if available rather than requiring it.
This document provides instructions for Laboratory Assignment 2 for the course CMPE 118/218 Introduction to Mechatronics. The assignment involves designing, building, and programming a simple motorized platform using SolidWorks, CorelDraw, and a laser cutter. Students must complete three parts: 1) designing the platform components in CAD software; 2) cutting out parts from foamcore and MDF using the laser cutter; and 3) building a working detector circuit to control the motors.
The document provides instructions for analyzing the effects of peripheral nerve stimulation on rhythmic locomotor activity using perturbation analysis. The summary includes:
1) Mark stimulated and control cycles by setting stimulus marker thresholds and discriminators, automatically selecting trains, and creating averaged waveforms for stimulated and control steps.
2) Use Quick Measure and Layout programs to compare the averaged waveforms, saving the figures as .plt files for further editing.
3) Import the .plt files into CorelDraw and edit the figures by removing y-scales, moving text lines, changing line styles, and overlaying control traces on stimulated traces for comparison.
This document provides step-by-step instructions for installing TYPO3, an open source content management system, on Mac OS X. It outlines downloading required software packages like PHP, MySQL, and ImageMagick. It then guides the user through installing each package, creating a MySQL user for TYPO3, and configuring permissions. Finally, it explains using the TYPO3 Install Tool to complete the basic configuration and set up a working TYPO3 installation.
This document provides step-by-step instructions for installing TYPO3, an open source content management system, on Mac OS X. It outlines the required software (Mac OS X 10.2 or higher, MySQL, PHP, ImageMagick), optional packages (phpMyAdmin, CocoaMySQL), and guides the user through downloading packages, installing prerequisites like PHP and MySQL, creating a MySQL user for TYPO3, installing TYPO3, and enabling the TYPO3 install tool.
This document introduces Subversion (SVN) as a version control system that improves upon CVS. It discusses downloading and using SVN clients like TortoiseSVN, describes how to set up a SVN repository for a project with multiple developers, and provides examples of common SVN commands like checking out files, committing changes, and updating a working copy.
This document provides an introduction to the tools, coding standards, and codebase layout for developers working on InfoPay v5. It outlines best practices for using NetBeans as the IDE, ActiveCollab for project management, and Git for version control. Coding standards for PHP, JavaScript, and markup are defined, covering comments, errors, file paths, naming conventions, code style, and code libraries. The codebase is divided into core, frontend, and Yii sections, with guidelines on file locations, models/repositories, controllers/actions, and widgets. Credentials and access controls are also addressed.
Have you found yourself wondering how to take advantage of what you have developed in the past for current or future projects? Are you tired of copying/pasting then adapting from your previous projects to the new ones? Start developing for the future and contribute to others by developing libraries and sharing them for use. Where do you start? You’ll be guided through this tutorial step by step to include security, tests and all the factors you need to consider when building a library.
TYPO3 v8 is a major new version that provides significant improvements in performance, functionality, and features. It supports the latest PHP 7 for faster performance and includes new features like responsive backend, frontend editing, improved image manipulation, and a brand new form framework. It also improves the developer experience with features like PHP type declarations, standalone Fluid, and Doctrine DBAL for database abstraction. Subsequent versions added additional improvements such as flexible content elements, improved menus and links, and synchronization for multilingual content.
Darcy Ripper-Website, Data Scraper SoftwareDan Mitroi
This document provides an overview of the Darcy Ripper web crawler software. It describes the graphical user interface and how to configure and use job packages to download web resources. Key features include a multithreaded design for parallel downloads, HTTP connection settings, download rules and filters, and response handling for errors. The GUI provides controls to create, edit, run and monitor download jobs in real-time.
Orangescrum In App Chat Add-on User ManualOrangescrum
The In-App chat add-on will help you to install the add-on & guide you about the features of chat add-on.
It's a real-time chat widget built for the Orangescrum Community Version. It offers fully secure, single or multi-user chat with private messaging, chat invitations and more.
Explore chat add-on details at: http://www.orangescrum.org/add-on/chat
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the server locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the website locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document provides a user guide for ExeOutput for PHP, a PHP and website compiler for Windows. It allows users to create standalone Windows applications that can run and display PHP websites without requiring an internet connection, PHP installation, or remote web server. The guide covers starting a new project, developing and testing projects, customizing applications, navigating compiled webpages, accessing files with PHP, and other topics to help users build and deploy their PHP applications.
Brief training targeted to middle school aged students who are participating in First Lego League robotics and planning to use a version control tool such as EV3Hub
This document provides installation instructions for Open Object (OpenERP) server, client, and web applications on Linux and Windows systems. It covers downloading and installing required packages, configuring the PostgreSQL database, and installing the various OpenERP components and getting them running. Detailed steps are provided for Ubuntu Linux and Windows.
This document provides installation instructions for Open Object (OpenERP) server, client, and web applications on Linux and Windows systems. It covers downloading and installing required packages, configuring PostgreSQL, and installing the various OpenERP components from source code or installers. Detailed steps are provided for configuring the server, client, and web interfaces.
This document provides instructions for setting up a single server running Red Hat Linux to function as a small ISP, providing services like dial-up access, web hosting, email, FTP, and DNS. It includes steps for installing Red Hat, configuring security, removing unnecessary services, enabling multiple IP addresses, configuring Apache, Sendmail, POP3, FTP, and dial-up access. The goal is a low-cost solution for basic ISP functions on a single server. Alternatives like virtfs that offer more flexibility through virtualization are also discussed briefly.
This document provides a developer guide for using the Log4C logging library. It discusses Log4C concepts like categories, appenders, and layouts which determine what is logged, where it is logged, and how it is formatted. It also describes how to download, build, configure, and extend Log4C. Sections include getting started with examples, using the Log4C API, customizing appenders and layouts, troubleshooting, and deploying Log4C in production environments. The goal is to help C developers incorporate logging into their projects using this configurable and extensible logging library.
This document provides instructions for installing and configuring the OT Valupat Prestashop theme and extensions. It begins with requirements and instructions for installing a full demo site package. It then discusses installing individual modules like the theme control panel, dropdown menu, and others. Module positions and configurations are explained. Screenshots illustrate the installation and configuration steps. The document is intended help users get a site set up quickly based on the demo.
This document provides a help and tutorial for TopStyle Pro version 3.11. It covers getting started with TopStyle, editing style sheets and HTML/XHTML, working with colors, previews, validation, site management, reports, mappings, customization, and third-party integration. It also includes appendices on CSS basics and tips, TopStyle tips and tricks, style sheet resources, keyboard shortcuts, and regular expressions.
TopStyle Help & <b>Tutorial</b>tutorialsruby
This document provides a table of contents for the TopStyle Pro Help & Tutorial, which teaches how to use the TopStyle software for editing style sheets and HTML/XHTML documents. It lists over 50 sections that provide explanations and instructions for features like creating and opening files, editing styles, working with colors, previews, validation, site management, reports and customizing the software. The document was created by Giampaolo Bellavite from the online help provided with TopStyle version 3.11.
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>tutorialsruby
This document provides the course outline for IMD 210 Fundamentals of Scripting Languages at The Art Institute of Atlanta during the Spring 2005 quarter. The course focuses on integrating programming concepts with interface design using scripting languages like JavaScript and CSS. It will cover topics like DOM, CSS layout, JavaScript variables, conditionals, and events. Students will complete 4 assignments including redesigning existing websites, and there will be weekly quizzes, a midterm, and final exam. The course is worth 4 credits and meets once a week for class and lab.
This document provides the course outline for IMD 210 Fundamentals of Scripting Languages at The Art Institute of Atlanta during the Spring 2005 quarter. The course focuses on integrating programming concepts with interface design using scripting languages like JavaScript and CSS. It will cover topics like DOM, CSS layout, JavaScript variables, conditionals, and events. Students will complete 4 assignments including redesigning existing websites, and there will be weekly quizzes, a midterm, and final exam. The course is worth 4 credits and meets once a week for class and lab.
The group aims to bridge gaps between peer-to-peer database architectures and scaling multimedia information retrieval. They develop a probabilistic multimedia database system with abstraction layers for applications and researchers. They also research challenges of peer-to-peer networks for distributed data management. Both lines are supported by the MonetDB platform to exploit custom hardware and adaptive query optimization. The goal is a modular solution linking theoretical optimal solutions to application demands under resource limitations.
Standardization and Knowledge Transfer – INS0tutorialsruby
The group aims to bridge gaps between peer-to-peer database architectures and scaling multimedia information retrieval. They develop a probabilistic multimedia database system with abstraction layers and a flexible model. They also research challenges of peer-to-peer networks for distributed data management. Both lines are supported by the MonetDB platform to exploit custom hardware and adaptive query optimization. The goal is a modular solution linking theoretical optimal solutions to application demands under resource limitations.
This document provides an introduction to converting HTML documents to XHTML, including the basic syntax changes needed like making all tags lowercase and closing all tags. It provides examples of correct XHTML markup for different tags. It also explains the new DOCTYPE declaration and shows a sample well-formed XHTML document incorporating all the discussed changes. Resources for learning more about XHTML are listed at the end.
This document provides an introduction to converting HTML documents to XHTML, including the basic syntax changes needed like making all tags lowercase and closing all tags. It provides examples of correct XHTML markup for different tags. It also explains the new DOCTYPE declaration and shows a sample well-formed XHTML document incorporating all the discussed changes. Resources for learning more about XHTML are listed at the end.
XHTML is a markup language that provides structure and semantics to web pages. It is based on XML and is more strict than HTML. XHTML pages must have a document type definition, html and head tags, and a body where the visible content goes. Common XHTML tags include paragraphs, lists, links, images, and divisions to logically separate content. While XHTML provides structure, CSS is used to style pages and control visual presentation by defining rules for tags. CSS rules are defined in external style sheets to keep presentation separate from structure and content.
XHTML is a markup language that provides structure and semantics to web pages. It is based on XML and is more strict than HTML. XHTML pages must have a document type definition, html and head tags, and a body where the visible content goes. Common XHTML tags include paragraphs, lists, links, images, and divisions to logically separate content. While XHTML provides structure, CSS is used to style pages and control visual presentation through rules that target specific XHTML elements.
This document discusses how to create and use external cascading style sheets (CSS) in Dreamweaver. It provides steps to:
1. Open the CSS Styles tab in Dreamweaver and create a new external CSS stylesheet using a sample text style.
2. Save the stylesheet and link it to a new HTML page to style elements like headings, text sizes, and boxes.
3. Edit existing styles by selecting a tag in the CSS Styles panel and modifying properties directly, or by clicking the tag and using the pencil icon to edit in a window. This allows customizing styles globally across all linked pages.
This document provides an overview of how to create and use cascading style sheets (CSS) in Dreamweaver. It describes the different types of style sheets, including external and internal style sheets. It outlines the steps to create an external style sheet in Dreamweaver using the CSS Styles panel and provides instructions for linking the external style sheet to an HTML page. The document demonstrates how to experiment with predefined styles and how to edit, add, and delete styles in the CSS stylesheet.
This document appears to be a weekly update from an intro to computer science course. It includes summaries of classmates' demographics, comfort levels, and prior experience. It also discusses time spent on problem sets and recommends upcoming courses in CS51 and CS61. Finally, it recommends reading on TCP/IP, HTTP, XHTML, CSS, PHP, SQL and using the bulletin board for questions.
This document appears to be a weekly update from an intro to computer science course. It includes summaries of classmates' demographics, comfort levels, and prior experience. It also discusses time spent on problem sets and recommends upcoming courses in CS51 and CS61. Finally, it recommends reading on topics like TCP/IP, HTTP, XHTML, CSS, PHP, SQL and using bulletin boards, and includes images related to these topics.
The document discusses how to use Cascading Style Sheets (CSS) with Corvid Servlet Runtime templates to control formatting and layout. CSS allows separating design from content, making templates simpler and easier to maintain. It also enables adapting appearance for different devices. The document provides examples of using CSS classes to style template elements and explains how to set up a demo system using the included CSS and templates.
The document discusses how to use Cascading Style Sheets (CSS) with Corvid Servlet Runtime templates to control formatting and layout. CSS allows separating design from content, making templates simpler and easier to maintain. It also enables customization of appearance for different devices. The document provides examples of how to apply CSS classes and rules to Corvid template elements to control fonts, colors, positioning and more.
The document provides an introduction to CSS and how it works with HTML to control the presentation and styling of web page content. It explains basic CSS concepts like selectors, properties and values, and how CSS rules are used to target specific HTML elements and style them. Examples are given of common CSS properties and selectors and how they can be used to style elements and format the layout of web pages.
The document introduces CSS and how it works with HTML to separate content from presentation, allowing the styling of web pages through rules that target HTML elements. It explains CSS syntax and various selectors like type, class, ID, and descendant selectors. Examples are provided of how CSS can be used to style properties like color, font, padding, and layout of elements on a page.
Cascading Style Sheets (CSS) allow users to define how HTML elements are presented on a page. CSS enables changing the appearance and layout of an entire website by editing just one CSS file. CSS uses selectors to apply styles to HTML elements via properties and values. Styles can be defined internally in HTML or externally in CSS files. CSS can control text formatting, colors, spacing, positioning and more to achieve visual consistency across web pages.
Cascading Style Sheets (CSS) allow users to define how HTML elements are presented on a page. CSS enables changing the appearance and layout of an entire website by editing just one CSS file. CSS uses selectors to apply styles to HTML elements via properties and values. Styles can be defined internally in HTML or externally in CSS files. CSS can control text formatting, colors, spacing, positioning and more to achieve visual consistency across web pages.
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Introducing BoxLang : A new JVM language for productivity and modularity!Ortus Solutions, Corp
Just like life, our code must adapt to the ever changing world we live in. From one day coding for the web, to the next for our tablets or APIs or for running serverless applications. Multi-runtime development is the future of coding, the future is to be dynamic. Let us introduce you to BoxLang.
Dynamic. Modular. Productive.
BoxLang redefines development with its dynamic nature, empowering developers to craft expressive and functional code effortlessly. Its modular architecture prioritizes flexibility, allowing for seamless integration into existing ecosystems.
Interoperability at its Core
With 100% interoperability with Java, BoxLang seamlessly bridges the gap between traditional and modern development paradigms, unlocking new possibilities for innovation and collaboration.
Multi-Runtime
From the tiny 2m operating system binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, Web Assembly, Android and more. BoxLang has been designed to enhance and adapt according to it's runnable runtime.
The Fusion of Modernity and Tradition
Experience the fusion of modern features inspired by CFML, Node, Ruby, Kotlin, Java, and Clojure, combined with the familiarity of Java bytecode compilation, making BoxLang a language of choice for forward-thinking developers.
Empowering Transition with Transpiler Support
Transitioning from CFML to BoxLang is seamless with our JIT transpiler, facilitating smooth migration and preserving existing code investments.
Unlocking Creativity with IDE Tools
Unleash your creativity with powerful IDE tools tailored for BoxLang, providing an intuitive development experience and streamlining your workflow. Join us as we embark on a journey to redefine JVM development. Welcome to the era of BoxLang.
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsScyllaDB
ScyllaDB monitoring provides a lot of useful information. But sometimes it’s not easy to find the root of the problem if something is wrong or even estimate the remaining capacity by the load on the cluster. This talk shares our team's practical tips on: 1) How to find the root of the problem by metrics if ScyllaDB is slow 2) How to interpret the load and plan capacity for the future 3) Compaction strategies and how to choose the right one 4) Important metrics which aren’t available in the default monitoring setup.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...AlexanderRichford
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation Functions to Prevent Interaction with Malicious QR Codes.
Aim of the Study: The goal of this research was to develop a robust hybrid approach for identifying malicious and insecure URLs derived from QR codes, ensuring safe interactions.
This is achieved through:
Machine Learning Model: Predicts the likelihood of a URL being malicious.
Security Validation Functions: Ensures the derived URL has a valid certificate and proper URL format.
This innovative blend of technology aims to enhance cybersecurity measures and protect users from potential threats hidden within QR codes 🖥 🔒
This study was my first introduction to using ML which has shown me the immense potential of ML in creating more secure digital environments!
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
Discover the Unseen: Tailored Recommendation of Unwatched ContentScyllaDB
The session shares how JioCinema approaches ""watch discounting."" This capability ensures that if a user watched a certain amount of a show/movie, the platform no longer recommends that particular content to the user. Flawless operation of this feature promotes the discover of new content, improving the overall user experience.
JioCinema is an Indian over-the-top media streaming service owned by Viacom18.
Discover the Unseen: Tailored Recommendation of Unwatched Content
manual
1. Upgrade Typo3 3.8.0 to 4.2.0
(And PHP 4 to PHP 5)
Extension Key: doc_tut_upgrade_380_to_420
Copyright 2008, Marco Voegeli, Switzerland / Europe
Web: http://www.voegeli.li / Contact: http://contact.voegeli.li
This document has been published under the Open Content License:
http://www.opencontent.org
This document is not an official document from the Typo3 Association (see Disclaimer).
The content of this Tutorial is related to the Open Source Content Management System called „TYPO3“
http://typo3.org
Inhaltsverzeichnis
Upgrade Typo3 3.8.0 to 4.2.0......................1 Step 9: Check Changelog and Check/Adjust Settings.
Disclaimer.......................................................................2 9
Introduction....................................................................2 Step 10: Correct Errors and Adjust Programming......9
What is this document for?.........................................2 Step 11: Various Stuff I Had to Do..............................10
What is the target group?...........................................2 Switch On Debugging...............................................10
Why upgrade to PHP5?..............................................2 Change of Charset to UTF-8....................................10
Does these steps here fit to all installations?.............2 Own Classes and Database Connections................10
Any Hints or Suggestions?.........................................2 RTEHtmlArea Now a System Extension..................10
Requirements.................................................................2 Replace Paths to New Directory..............................11
Step 1: Backup Your Entire Website............................3 Update Date2Cal Extension.....................................12
Step 2: Check and Save the Backup............................3 Languages Configuration and Flags........................12
TT_News locallang.xml............................................12
Step 3: Download Entire Typo3 Root Folder...............3
Check and Correct Indexed Search Engine.............12
Step 4: Local Replacement of Old Files with New
Reindex Alll Pages...................................................12
Files.................................................................................3 Scrollbars Missing in the Template Frameset..........13
Step 5: Upload New Files to the Webserver................4 Update Dh_LinkLayout.............................................13
Step 6: Switch New Directory to PHP 5.x.x..................4 Performance Enhancements....................................13
Step 7: Copy Current MySQL Database to the New Own Page Content Type from USER to USER_INT (if
Database.........................................................................5 Cache is used).........................................................13
Step 8: Execute Typo3 Install Tool and Database Configure System Parameters.................................13
Analyser..........................................................................6 Typo3 Load Control (Upcoming Extension
Upgrade Typo3 Database and Extension Tables.......6 mv_typo3_load_control)...........................................13
Clear Typo3 Cache.....................................................9
Upgrade Typo3 3.8.0 to 4.2.0 - 1
2. Disclaimer
● This document is NOT an official document from the TYPO3 association.
● The execution of the system upgrade, as mentionned in this document, is on your own risk. The
author and the Typo3 association cannot be responsible for anything that results out of this
upgrade.
● Please also check the official publications on typo3.org, the relevant change logs and forums.
● If you feel insecure or you do not have the specific knowledge to perform this upgrade, please
contact a Typo3 consulting partner.
● There is no free consulting given by the author for this tutorial or your upgrade!
Introduction
What is this document for?
This tutorial contains a well structured 10-step-guide (or even more :-) to upgrade Typo3 version 3.8.0 (PHP 4.x.x)
to Typo3 version 4.2.x (PHP 5.x.x), which means upgrading both Typo3 and PHP. It will consider data security as
well as ease of execution of the following logical steps. While TYPO3 3.8.0 can be run with PHP 4.x.x, TYPO3 >
4.2.0 requires PHP 5. That is the reason both has to be upgraded (PHP & TYPO3).
What is the target group?
This document is addressed to Typo3 administrators and developers.
Why upgrade to PHP5?
Never Typo3 versions > 4.2.0 can only be used with PHP 5.x.x.
Does these steps here fit to all installations?
No! This tutorial is just a documentation of what I had to do during the upgrade. It may give you hints what steps
have to be performed and what you should think about. But you should also keep in mind, that each installation is
different and there are always specific tasks for each upgrade.
Any Hints or Suggestions?
If you have any hints or suggestions (not basic questions), you may send them to me (see contact data in the
document header).
Requirements
Before you start with your upgrade, be sure that your installation meets the following requirements:
● Webserver with PHP 4.x.x and MySQL database installed
● Typo3 3.8.0 (might work with other versions as well) installed & running
● PHP 5.x.x installed on your system (beside PHP 4.x.x) / Ask your administrator or hosting provider to get
that information.
Upgrade Typo3 3.8.0 to 4.2.0 - 2
3. Step 1: Backup Your Entire Website
Backup your entire site! It is important to perform this step anytime you change or replace Typo3 core files.
Especially if you upgrade more than a subversion of Typo3. Your backup should include the following:
● All Files & the directory structure
● Entire MySQL database dump
Sometimes hosting provider give you access to a backup tool, with which you can backup your entire site and
dump the database at once.
Step 2: Check and Save the Backup
Be sure your backup is not corrupted (especially if the files are compressed in an archive file like zip, rar etc.). Be
sure that all files are in it and the directory structure is stored in the archive as well. Don’t forget to check if the
MySQL database dump is created! And this correctly.
It is advisable to save the backup on more than just one storage device. Just to be on the safe side.
Step 3: Download Entire Typo3 Root Folder
Download the root folder of your TYPO3 installation to your local harddrive. The root folder is, where the TYPO3
“index.php” file is. Copy every file in the root folder and all sub-folders as well.
Step 4: Local Replacement of Old Files with New Files
Download the latest TYPO3 version from www.typo3.org! In this case it is version TYPO3 4.2 RC (Release
Candidate) 1. Unpack these files to a new directory on your local harddrive.
Copy this unpacked files and folders to the clipboard and go the the local directory where you have downloaded
your current installation TYPO3 root folder (see previous step). Paste the copied files and folders from your
clipboard and replace the old files.
Be sure the following files and folders are being replaced for sure:
● Folder Media/
● Folder T3lib/
● Folder Tslib/
● Folder Typo3/
● File Index.php
● File Showpic.php
Replace the existing files and folders with the new version.
Upgrade Typo3 3.8.0 to 4.2.0 - 3
4. Step 5: Upload New Files to the Webserver
Create a new directory on your webserver and upload the files. The reason for the new directory is, that we will
later switch this directory to be parsed by PHP 5.x.x instead of PHP 4.x.x! And you can perform all adjustments
and corrections beside your running Typo3 installation – no down time! You may need to adjust the rights of the
files (CHMOD) via FTP.
Step 6: Switch New Directory to PHP 5.x.x.
In order to run Typo3 > .2.0, you need PHP 5. Therefore you need to have PHP 5.x.x installed. Most web hosting
provider have PHP 4 as default and optionally PHP 5 installed. Sometimes the file ending “.php5” will be parsed
by PHP 5.x.x. On my server it is:
● .php Parsed by PHP 4, every folder
● .php5 Parsed by PHP 5, every folder
If your webserver is Apache and allows you to create “.htaccess” files, then one of the following entries can help
you to define, that “.php” files in a single folder (and all subfolders) will be parsed by PHP 5.x.x, instead of default
PHP 4.x.x. What we want to reach is:
● .php Parsed by PHP 5, one folder with subfolders
Create a new “.htaccess” file in the TYPO3 root folder, or extend the existing one, by the following lines.
For PHP 5.2.x:
Action php /cgi-php52/php
AddHandler php52 .php
For PHP 5.1.x:
Action php /cgi-php51/php
AddHandler php51 .php
For PHP 5.0.x:
Action php /cgi-php5/php
AddHandler php5 .php
The above examples work if your PHP is implemented as CGI. If that should not work, try one of the following
entries.
For PHP 5.2.x:
AddType application/x-httpd-php52 .php
Eventually additional: AddHandler x-httpd-php52 .php
For PHP 5.1.x:
AddType application/x-httpd-php51 .php
Eventually additional: AddHandler x-httpd-php5 .php
Upgrade Typo3 3.8.0 to 4.2.0 - 4
5. For PHP 5.0.x:
AddType application/x-httpd-php5 .php
Eventually additional: AddHandler x-httpd-php50 .php
After this step all “.php”-files should be parsed and executed by PHP 5.x.x. You can easily check this with a new
PHP file with <?php phpinfo(); ?>.
Step 7: Copy Current MySQL Database to the New Database
Create a copy of your database! A good tool to perform this step is PHPmyAdmin (www.phpmyadmin.net). Copy
both – structure and data.
If you have a really big database to copy and problems to import it in your new database in phpmyadmin, then the
following tool might help (it did so to me!).
BigDump: Staggered MySQL Dump Importer
http://www.ozerov.de/bigdump.php
Upgrade Typo3 3.8.0 to 4.2.0 - 5
6. Step 8: Execute Typo3 Install Tool and Database Analyser
Go to your Typo3 folder in your webbrowser and call the install tool (has to be enabled before).
Upgrade Typo3 Database and Extension Tables
Go to your Backend. Under “Tools”, click the link “Install”.
Under “Database Analyser”, click the link “COMPARE”.
Database Analyser reads the “.sql”-files from TYPO3 core and extensions. Then it reads the meta data from the
MySQL database. These two definitions will be compared. As a result of this automatic procedure, you will get a
list which is divided in different parts:
● Add fields
● Change fields
● Delete unused fields
● Add Tables
● Delete Tables
Upgrade Typo3 3.8.0 to 4.2.0 - 6
7. Each entry has a checkbox, which defines if the action will be performed after a click on the button “Write to
database”.
ATTENTION: Check each entry carefully! Escpecially if you have added own fields to TYPO3 or extension
tables!!! Don’t delete fields you still need.
Upgrade Static and Description Tables
The tables beginning with “static_” are delivered with TYPO3 and should not be changed. These tables have to be
updated as well.
ATTENTION: Be sure you did not change any table beginning with “static_”.
Go to “Database Analyser” again, then press “IMPORT” under Dump static data.
Upgrade Typo3 3.8.0 to 4.2.0 - 7
8. Activate checkbox “Import the whole file …” and press the button “Write to database”.
In the next step you can initialize cache tables. Mark the following entries and press “Write to database” again.
The next step clears the backend user preferences. Press “Write to database” again.
Upgrade Typo3 3.8.0 to 4.2.0 - 8
9. Clear Typo3 Cache
Clear both – FE cache and cache in typo3conf/:
ATTENTION: Please check via FTP, that all “temp_CACHED…” files in the folder typo3conf/ are deleted.
Step 9: Check Changelog and Check/Adjust Settings
Please the check the TYPO3 changelogs. Check the log in your new TYPO3 distribution, as well as all logs of
versions in between. You can find the changelogs under the following link:
http://typo3.org/development/
Check the major context attributes of the TYPO3 installation under “Configuration” and adjust settings where
needed. You might also check the main extensions, such as news etc. in the template.
Please check also for path strings, as it might not be correct anymore (if you copied the new Typo3 installation to
another folder).
Especially if you did some own PHP development under PHP 4 in your “old” installation, it might be necessary to
change some notation for PHP 5. You should check the following things:
Step 10: Correct Errors and Adjust Programming
Especially if you did some own PHP development under PHP 4 in your “old” installation, it might be necessary to change
some notation for PHP 5. You should check the following things:
● Check for path strings, as they might not be correct now (if you copied the new TYPO3 files to another
directory).
● PHP 5 has a new object model. This could have influence to all classes. The most changed from PHP 4
to PHP 5 are done here. Read more about this here: http://devzone.zend.com/article/1714-Whats-New-in-
PHP-5
● XML support has been consolidated from different classes to 1 library. Read more about this here:
http://devzone.zend.com/article/1714-Whats-New-in-PHP-5
Please see the following sites to get to know what I had to correct and adjust.
Upgrade Typo3 3.8.0 to 4.2.0 - 9
10. Step 11: Various Stuff I Had to Do...
Switch On Debugging
In order to check errors it is good to switch debugging on while you are testing your upgraded Typo3 installation.
Go to the part „configuration“ in your Typo3 backend:
Under the tree item „SYS“ you can configure the debugging:
Set the following parameters in you localconf.php:
$TYPO3_CONF_VARS['FE']['debug'] = '1';
$TYPO3_CONF_VARS['SYS']['sqlDebug'] = '1';
$TYPO3_CONF_VARS['SYS']['Debug'] = '1';
$TYPO3_CONF_VARS['SYS']['displayErrors'] = '1';
$TYPO3_CONF_VARS['SYS']['devIPmask'] = '*';
Change of Charset to UTF-8
Since version 4.2.0 the charset is set to UTF-8. This means you might need to change special characters. The
best is to use HTML signs for special chars! A good resource for this is http://www.asciitable.com/
Own Classes and Database Connections
If you have own classes and database connections (even in external files and included over content type PHP),
you need to change them as well! Check that the right database is being selected and all paths are correct! I had
global Typo3 errors, because of errors raised in external PHP files.
RTEHtmlArea Now a System Extension
If you use the wysiwyg editor RTEHtmlArea then there is a surprise: This extension is now a system extension
and already being delivered with the Typo3 installation. Be sure to deinstall and maybe delete your local version.
Then clear all cache and install the delivered system extension. If the editor is not being displayed, the error might
be that your local installation is not properly undone.
If the editor is still not being displayed (I had this problem), then be sure you have set the following parameter in
localconf.php:
$TYPO3_CONF_VARS['BE']['RTEenabled'] = 1;
Once correctly installed you may wish to use all options the RTEHtmlArea. Therefore select the following options
preset:
This will show everything. Works fine for me, even if it says „Not for production environments.“.
Upgrade Typo3 3.8.0 to 4.2.0 - 10
11. Replace Paths to New Directory
Be sure that you have replaced all paths from the old installation directory to the new one. A good way to do this
for content in your new Typo3 installation is using „DB check“. For this log on to your Typo3 backend an choose
„DB check“. Then select „Search whole database“:
Select „Raw Search in all fields“ as search method and search for the old path:
You can update this directly by using the symbol:
Upgrade Typo3 3.8.0 to 4.2.0 - 11
12. Update Date2Cal Extension
I had installed the date2cal extenion, which makes date fields in the backend selectable by a calendar:
I needed to update this extension to a new version. Then it worked again.
Languages Configuration and Flags
I needed to change my secondary website language, because new flags were delivered:
TT_News locallang.xml
My tt_News did not work anymore. Error message was something like „invalid locallang.xml“. I have downloaded
the single file „locallang.xml“ from the Typo3.org repository. Then it worked for me. Be sure to download
locallang.xml for the right version of your tt_news installation.
Check and Correct Indexed Search Engine
The indexed search did not work anymore. Here you may use a new configuration for it. I have decided to use the
old version as it was easy to implement again.
Reindex Alll Pages
Clear all cache and index tables in your database (index_*, cache_*). Then you have to reindex the entire site. A
good way to reindex an entire website is an offline browser like HTTRACK http://www.httrack.com/. With the call
of each site, the called sites will be indexed.
Upgrade Typo3 3.8.0 to 4.2.0 - 12
13. Scrollbars Missing in the Template Frameset
In the backend while editing a template in the object browser: The left scrollbar was missing. So I had to change
the file typo3/alt_mod_frameset.php by changing „frame list_frame option scrolling="yes"“.
Update Dh_LinkLayout
I had installed the extension dh_linklayout, which enables you to configure an own rendering for your links. After
the upgrade it did not work anymore. I needed to reinstall it and configure it new.
Performance Enhancements
It is, especially when you let host your site by en external hosting provider, advisable to check the Typo3
performance. I had several problems after the upgrade. Things you can do are:
Set Memory Limit
ini_set("memory_limit", "45M"); in index.php
$TYPO3_CONF_VARS['SYS']['setMemoryLimit'] = 45; in localconf.php
(Set the memory limit to as small as possible.Around 45 seemed fine for me.)
Index on MySQL tables
Check especially that large and often used database tables are inddexed correctly.
Load Control
It may be necessary, especially if you have a low performance server of a public hosting company, that you limit
number of users and reloads of your website. Therefore I am currently developping a new extension. See point
„Typo3 Load Control“ later in this document.
Own Page Content Type from USER to USER_INT (if Cache is used)
If you use Typo3 cache system and you use a custom rendering part in your template of type „USER“ you may
change it to „USER_INT“. This way the content will be dynamic (important for counters etc.).
Configure System Parameters
You may need to do the following things:
● Remove debugging parameters (see point switch on debugging)
● Deactivate install tool
● Set the following parameters, if necessary in the localconf.php
$TYPO3_CONF_VARS['FE']['maxSessionDataSize'] = x;
$TYPO3_CONF_VARS['FE']['lifetime'] = x;
$TYPO3_CONF_VARS['FE']['maxSessionDataSize'] = x;
(x = number)
Typo3 Load Control (Upcoming Extension mv_typo3_load_control)
It may be necessary, especially if you have a low performance server of a public hosting company, that you limit
number of users and reloads of your website. Therefore I am currently developping a new extension called
„mv_typo3_load_control“.
That was it :-)
Upgrade Typo3 3.8.0 to 4.2.0 - 13