TYPO3 form - Editing of form.yaml files not possible in the backend - forms

I need to edit the configuration files of the TYPO3 form extension on the webserver. As I have no access via FTP I need to edit the files in the TYPO3 backend. The problem is, I am not allowed to edit files with the extension .form.yaml.
In the install tool I added
[SYS][textfile_ext] = txt,html,htm,css,inc,php,php3,tmpl,js,sql,yaml,form.yaml,form
Now I can edit files with the extension yaml but no files with the extension form.yaml
Is there another configuration option I have to set to be able to edit the form.yaml files?
Is it possible to change the standard extension of my configuration files from .form.yaml to .yaml?
I am using TYPO3 8.7.30 and form 8.7.30.

As Bernd already said, since TYPO3 8 editing of .form.yaml files is not allowed in the backend for security reasons.
I wanted the editing to allow backend users the definition of different upload folders.
But different upload folders can also be defined in the central .yamlconfiguration file (TYPO3 8 form - Define several file upload folders).
So there is no need to enable editing of .form.yaml files for backend users.

Related

Typo3 (8.7.31) File is missing

I just deployed a setup to a new server and typo3 suddenly can't find files anymore that are present in the file admin. For example I have some textpic that show me that warning.
I can access the files directly via the browser, but the file admin is marking them as missing too. I cleared the caches several times.
Do you have any idea what I could do to restore those file references?

How to create a page extension in Directus 7

I have a working Directus CMS environment and would like to include some custom pages in there as well. According to the documentation!, I "can build page modules for custom dashboards, reporting, point-of-sale systems, or anything else".
The CMS is downloaded from directus, installed in localhost and then moved with FTP to the server as my client doesn't have terminal access allowed.
I already tried the boilerplate from https://github.com/directus/extension-toolkit, created a vue page with it, ran npm to transpile it, but now I don't know where to put it. If I put it to public > extensions > custom > pages (I put here the whole created folder), it's not shown anywhere and I can't really find any tutorial or help on how to do it. Not even in the docs.
You have to copy only the dist subdirectory of the extension to your server.
Example:
directus-extensions create page orders
directus-extensions build
rsync ./dist/ root#example.com:/var/www/directus/public/extensions/custom/pages/orders/
You should now see your page extension listed in the sidebar when you log in to your Directus app (provided your user role is configured to display extensions in the sidebar).

TYPO3 Service Unavailable (503)

I installed a copy of a TYPO3 project. So, I'm using an existing TYPO3 database.
When running the home page of the site, I get the 'standard error':
Service Unavailable (503)
The page is not configured! [type=0][]. This means that there is no TypoScript object of type PAGE with typeNum=0 configured.
More information regarding this error might be available online.
which refers to following site: https://wiki.typo3.org/Exception/CMS/1294587217
But when I modify the setup of the template of the root as given in the link. I get an empty page with "HELLO WORLD" and the whole website is gone.
The old root setup code was:
config.contentObjectExceptionHandler = 0
page.meta.description.data = page:description
page.meta.keywords.data = page:keywords
How can I solve this problem without losing the rest of the website? Using TYPO3 8.7
Addition to the db install I also copied the extension folders to the typo3conf/ext folder and edited the PackageStates.php with the path to the extensions.
I see the extensions in the extensions tab the status is 'local'.
1st: make sure you have the correct configuration of all domains (as it is a copy it can not run with the same domain, otherwise you will switch between servers unpredictably.
2nd: enter list mode and look for multiple template records in your web root page. Multiple records will result in ignoring all but one record. maybe you just edit the wrong one. Normally the content is not lost but only inaccessible for the moment.
3rd: have you activated all the extensions which are active in the source installation? especially any site extension, which probably include the configuration for the TypoScript page object.
4th: you can use the TSOB (TypoScript Object Browser) and the template analyzer to view the active or resulting typoscript.

AjaxControlToolKit AjaxFileUpload, upload files without an extension

Using the AjaxControlToolKit AjaxFileUpload control (v18.1.1), how can I allow files without an extension to be uploaded?
Currently, any file without an extension throws an error. I know there is a default whitelist and the ability to add allowed extensions in the web.config, but it's not clear how to allow files without an extension.
As of v18.1.1, the AjaxFileUpload does not allow uploading of files without an extension in its current state.

How can I add a composer.json to a static TYPO3 project?

I am using a working TYPO3 7.6.14 environment with many extensions. Now I want to add a composer.json file manually. I do not want to create a new project which will download the latest TYPO3 core and TYPO3 extensions. I am afraid that this could accidently overwrite some extension's PHP files.
I need a safe way to add a composer.json file which will not change the present TYPO3 PHP files automatically. I prefer to download TYPO3 and the extensions manually. Therefore I do not want to use the composer mode. I must find a way to prevent composer from overwriting my self written PHP files.
I need a composer.json file because I want to add the external TCPDF library which is on its own place on the file system and not inside of a vendor folder inside of TYPO3. And the file ext_autoload.php is not supported any more by TYPO3 7.6.
I have read the https://usetypo3.com/typo3-and-composer.html#c51 recommendations. But it only shows the way how to create a new TYPO3 project using the command line and the composer command. Is it also possible to download a composer.json file into a TYPO3 folder (which?) in order to tell the autoloader where it will find the external TCPDF library?
I have unzipped the TCPDF file under /var/www/html/TCPDF-master/tcpdf.php . I want to use TCPDF, TYPO3 and its extensions unchanged and never updated by any composer command.
Introducing Composer for not using it's features seems a bit strange to me, but yes, it's possible to define a dedicated version or commit-hash in a repository to disable updates.
However, I would recommend to make use of the tilde ~ operator to enable updates on the accordant branch, to e.g. include security updates automatically. For TYPO3 CMS this dependency would look like the following, to stay on the 7.6 branch:
"require": {
"typo3/cms": "~7.6.14"
}
Find further details on how to declare versions in the Composer documentation.
Besides that, it seems, that you're not using Composer at all for the root project. You could then create a wrapper extension for TCPDF with one of these options:
use Composer for that extension to require TCPDF and load the generated autoload file (e.g. in typo3conf/ext/tcpdf/vendor/autoload.php) in your wrapper extension
directly copy & paste TCPDF's source (which seems to be the scenario you're up to) and add the autoloading information to ext_emconf.php, which is similar to previous ext_autoload.php - find details about that in a blog post about class loading