Francesco Bortolussi
Members-
Posts
38 -
Joined
-
Last visited
Everything posted by Francesco Bortolussi
-
CKE Editor: I need a blank space!
Francesco Bortolussi replied to franciccio-ITALIANO's topic in Getting Started
If you want to be very permissive go to: Setup->fields and search the field you need to edit. Select the input tab and search for Use ACF? and select No. This will allow to use html inside the text field. Be careful because this could be a breach to damage your layout. -
From what i saw ProcessWire need to CREATE tables and indexes too.
-
Ok @kongondo Thank you for the quick answer. Processwire version: 2.6.23 rc2 Server: Linux, Ngnix, Maria DB, PHP-Fpm, EXT4 Filesystem Problem: When you import a repeater field, PW don't validate the template of the parent_id field, and assign it to repeater page. Reproduction steps: 1.- Export a repeater field. 2.- When importing, edit the parent-id to match with the ID of a page which template contains that repeater. 3.- Pw enter's in a loop of repeater pages creation.
-
Hi to everyone, please try to consider this post as a possible thread to every PW installation. We have used PW to backend a website and app for a big big company, so stability must be granted. Recently we was into a big trouble, filesystem was blocked because no Inodes left. The assets/files/ folder was full with more than 7 million directories. After some research we found a possible origin to this: If we have a template user, which have assigned a repeater field. And then we set as parent of that repeater a "User" page, this could lead into an infinite loop of pages creation; because the template_id for the repeater pages was set to "User Template" and since "User Template" includes that repeater it will need to create another page and you go on until your disk crash. Usually repeaters should stay under Admin->Repeaters. And here is the main questions: Can a repeater page be created with the same template_id as his "container" page? At database(Mysql) level does the template_id field will be filled with his parent template_id in the pages table when you import the repeater field? (Sorry for that but filed means something for db schema too) Could someone tell me if this actually happen. If so, could this be checked in a future release to prevent this problems? You should say, "How could this happen?" This happen when you have different environments and you migrate fields from one to another environment; a Page ID that is an Admin->Repeaters child page in one environment is not necessarily the same in another. Thank you for your time reading.
-
urls Access to the website with Processwire in a subfolder
Francesco Bortolussi replied to Elías Gómez's topic in General Support
Ok, now I understand better. You shoud use a rewrite rule in a .htaccess of the document root, you will lost web access to your Document Root but your traffic will end in /pw Something like: RewriteRule ^(.*)$ /pw/$1 This rule should work but there are more way's to do it. Another solution would be to create a subdomain / use a virtual host but I don't know if that is what you need. The previous post about the RewriteBase is still valid, you still have to tell apahce that Proceswire is not in the main directory. -
urls Access to the website with Processwire in a subfolder
Francesco Bortolussi replied to Elías Gómez's topic in General Support
In your root directory find the .htaccess file. Inside that file check for RewriteBase It must be uncomment something like: RewriteBase /pw -
Nice site and nice Enterprise
-
UTF-8 issue importing pages from another PW instance
Francesco Bortolussi replied to Can's topic in General Support
@can que bueno. Yo me encuentro en Italia. Y pues si, latinoamerica se presta mucho para proyectos como el tuyo: mucha tierra, clima y gente. En donde vivia Venezuela caería de maravilla tu proyecto ya que ni comida hay. Exito. PD: all other's forum member's sorry for the off topic. -
UTF-8 issue importing pages from another PW instance
Francesco Bortolussi replied to Can's topic in General Support
Hi @can, I suggest you to use an editor like Geany wich support multiples charactes set and open your .sql dump. If is too big, make a smaller dump that contains problematic data. Then in Geany reload it as ISO-8859-15 and see what happen, if you see accents, ñ and other caracters then you discovered the right codification for the file. Sometimes is a problem at sql file level, maybe created from a non UTF terminal or something. Hablas español? Veo que estas en Perù. Yo hablo español. Antes vivia en Venezuela. Saludos. -
what do you use to monitor your servers?
Francesco Bortolussi replied to bernhard's topic in Dev Talk
I installed the Debian package and has always been very stable. Perhap's if you download Munin you'll see that is a collection of Perl/BAsh scripts(Plugins) and a demon that make calls to a client. You could even create your own plugins I think (Never done one). -
what do you use to monitor your servers?
Francesco Bortolussi replied to bernhard's topic in Dev Talk
Hi @bernhard For monitoring server status I like to use Munin it gives you a full perspective in one view. Recently have used Zabbix for monitor and email me if something goes wrong. Is very expandable and has a wide variety of plugins. This is more a System/Network monitoring software. The web scenarios features of zabbix are nice for web projects, web services tests too. All this solutions are locally installed and not third party services. -
Browsersync on a Digitalocean Droplet (with Processwire + gulp)
Francesco Bortolussi replied to phil_s's topic in Dev Talk
Hi. If there's no iptable rule for port 3000 is because is not blocked (or allowed in case of a DROP policy). Check iptables INPUT and OUTPUT chain's policy to see if they are in ACCEPT or DROP. If is ACCEPT forget about firewall that's not the problem. The result's of your positive connection via telnet could be because the address 127.0.0.1 is mapped to ::1 ip v6 address. (In the /etc/hosts file). And as you wrote in your initial post, there is a socket listening in tcp6 local address. Check that the browsersync service is listening in ip v4 protocol (you should see tcp instead of tcp6). Check with: # netstat -putan | grep 3000 You should see: tcp as protocol (not tcp6) and the Real IP as address (The one you use to connect from yout PC to the server). If you not see this, check browsersync config and be shure you are using the right address. Have a nice day.- 4 replies
-
- 1
-
- browsersync
- gulp
-
(and 2 more)
Tagged with:
-
Browsersync on a Digitalocean Droplet (with Processwire + gulp)
Francesco Bortolussi replied to phil_s's topic in Dev Talk
Hi. If you have ssh access to the server: 1.- Try telnet from local console: like telnet 127.0.0.1:3000 If locally you get some response from the service, then is a firewall problem(It block'c communication to the outside). 2.- Look at the protocol, maybe is only open for tcp6 connections and firewall block's tcp4 connections If you're using Linux try: # iptables -L -n | grep :3000 It should give you a list of rules in INPUT, OUTPUT that filter all packets for that port. Look at the first line: "Chain INPUT (policy ACCEPT)" If it says ACCEPT, all connection's are by default allowed. If it says DROP the policy is to deny all incoming connections. Hope this could help.- 4 replies
-
- 1
-
- browsersync
- gulp
-
(and 2 more)
Tagged with:
-
Hi, maybe you could pass your variables as Array. You should name your select <select name="tokenize[]" > Then when you receive it, create an "OR" type of condition for the selector, using a foreach to iterates over it, or maybe a function. $customOrSelector = implode("|", $_GET['tokenize']); And finally, apply it to your query: $children = $pages->find("template=property, Ad_Type=".$ptype." ,Area=".$customOrSelector); Hope this help. NOTE: Don't use this example in a production environment, is not safe to use variables directly from $_GET or any other user input without sanitize them.
-
Field visibility conditions (only show if parent is...)
Francesco Bortolussi replied to a-ok's topic in Getting Started
Hi, maybe you could use the dot operator field.parent_property = value_you_want -
Multilanguage: only default language displays
Francesco Bortolussi replied to lenoir's topic in Getting Started
Sorry could not help, for me worked out of the box. Check you installed all required modules Sound stupid but who knows..... I have installed: Languages Support Languages Support - Fields Languages Support - Page Names Languages Support - Tabs -
Multilanguage: only default language displays
Francesco Bortolussi replied to lenoir's topic in Getting Started
Hi, did you "Activated" the language for each page? If not: - Locate the page in the main admin tree. - Click to "Edit" the page - Go to "Settings" tab - And check the "Active?" checkbox in the right side of the specific language path. Also remember to set the $user->language variables (If you are using a link as language switcher). -
Maximum "Pages Creations" with API
Francesco Bortolussi replied to jrtderonde's topic in API & Templates
As gebeer said php ini variables like max_execution_time and possibly memory_limit are could be limitation's. You have to consider also some network latency, Facebook response time and even possible Facebook limitation in the amount of request's per second (If it exists). Log the initial time and end time of your script; so you could do better debug of your problem. -
Finding duplicate images via MySQL
Francesco Bortolussi replied to Pete Jones's topic in General Support
Hi. Maybe you could mix your custom research with some API calls. If you do a: $page->find() , using the field field_h_media_url as part of the selector and using the result from your custom query as value; you could access pages and modify them. Assuming you are coding from outside the main site files: foreach ($repeated_urls as $duplicate) { $repeated_pages = wire('pages')->find("template=your_template, field_h_media.field_h_media_url=$duplicate"); } Hope this could help. -
Processwire could be used for everything with it's own "Way of do things", data management or whatever you call it; but he is also beneficient and does not prohibit you to create your own parallel data structures(Like custom tables in MySQL) and make queries using PDO. In the Software House I work, we have used it even for backend in an App (iOs & Android). You just need to use your imagination.
-
Hi. Maybe HTML purifier and ACF (CKEditor Advanced Content Filter) is stripping all unrecognized or not permitted html. You can test this, unchecking this option's in in the "Input" tab for the specific field. Be careful with this because those filter's are there for security/standarization reason's; if you uncheck them you give plenty power to the user's to ruin your html Layout. (This could be overcome with a good CSS+HTML encapsulation of the content) Hope this help's.
-
Check if page exsists finds deleted pages
Francesco Bortolussi replied to eutervogel's topic in API & Templates
Hi, the get selector give me troubles before too. The best way to use it is with an ID as selector value: $pages->get(1234); Reading the doc's I found this: Note that $pages->get("..."); is not subject to this behavior (or access control) and "include=all" is assumed. Repeater's are actually pages that exists under the Admin menu. So a get filtered by title will return this pages too. If you need only one page use a findOne or a find with more filter's parameter's. Hope that this help's you.