moderntribe / square-one Goto Github PK
View Code? Open in Web Editor NEWModern Tribe's legacy WordPress framework for the classic editor.
License: GNU General Public License v2.0
Modern Tribe's legacy WordPress framework for the classic editor.
License: GNU General Public License v2.0
The custom HTML block is set to the wrong slug in the ALLOW_LIST
.
After creating a new project and configuring the test suite so that it correctly loads WordPress, Codeception produces the following error:
Codeception PHP Testing Framework v3.0.3
Powered by PHPUnit 8.3.3 by Sebastian Bergmann and contributors.
Running with seed:
Fatal error: Declaration of Codeception\Test\Test::toString() must be compatible with PHPUnit\Framework\SelfDescribing::toString(): string in /application/www/vendor/codeception/codeception/src/Codeception/Test/Test.php on line 18
This is due to incompatibilities between Codeception and PHPUnit 7.0+
According to the documentation in docs/concepts/components.md:
Create an index.js file to serve as a clearing-house, loading additional files found in the Component's js directory. The build system will find this index.js and load it (along with anything it imports) into the global JS bundle.
To get the javascript compiling automatically I had to load it within the theme's components.js
:
(Sorry if this should be a discussion first.)
Because menus can be loaded via the menu
(menu ID, slug, name, or object) parameter of wp_nav_menu()
, this function should be adjusted:
theme_location
, check if theme_location
is populated before adding classesmenu
parameter and not theme_location
Happy to submit a PR once a decision is made.
I was theorizing this feature with the use of the postcss-map plugin but I feel it might be overkill/disruptive for an idea that would only be used for one small need. Not to mention it requires the use of separate .yml files to set these map arrays. So I did a little digging on postcss plugins and found these two:
https://www.npmjs.com/package/postcss-responsive-font
&
https://www.npmjs.com/package/postcss-responsive-type
Iβve tested both of these and they output basically the same CSS; a font size that is set using CSS calc() in a MQ that uses a min and max width.
I think the former is still too new and not as robust at the latter which has additional features like the ability to apply responsive sizes to line-height and letter-spacing.
This brings up a couple questions I'd like to pose to the team.
rem
or em
a root setting needs to be set on the html
element.vw
unit used in calc() and the need for a font-size to be defined as a percentage.Docs reference to use this when accessing meta. Had to fall back to ACF get_field since it doesn't work.
There is a great feature on a client project that supports sequential chaining of Tasks. It currently functions as part of a blog copier but could be abstracted to support sequential task chaining in queues.
I am logging this issue for work post mono-repo merge.
While running through my first on-boarding setup with SquareOne I encountered an issue with the cached version of Gravity Forms that Composer is trying to install.
I believe we recently switched to using an internal proxy to distribute the latest Gravity Forms plugin.
For full context please see Slack conversation (and associated Thread): https://tribe.slack.com/archives/C02595YKF/p1582817694041600
If you run gulp watch
or gulp watch
without having previously run gulp
or gulp dist
the assets.php
file won't be generated so assets won't be enqueued.
If you run gulp dev
in the theme, the first time (without an existing assets.php file), that appears to cause a webpack error because assets.php is missing.
The Core plugin contains a framework for easily adding object meta, post types, taxonomies, but lacks a standard way to add user roles. It would be nice to have a similar config for user roles.
@jbrinley Mentioned that he used something he liked for Steelcase
I built a form handler for a project at my last agency that was really useful. It was for a site with a ton of forms all doing completely different things, but a lot of them had attachment uploads and common fields/need.
I'm not sure what our level of plugins like gravity forms is, but I suspect there's plenty of times we don't use a plugin. If we barely use custom forms than this issue is moot and we can shelve it.
Today I was working on an import feature for Flashback. The admin has a page where they can upload a csv file and we generate some sales for an array of products. The file doesn't get saved so media uploader is not needed.
What I'm proposing is an abstract form handling class that does a few things:
Required functions for child classes
Abstract features
Like I mentioned, I've built a rough version of this before and it was incredibly useful and after today I felt the file handling could be a lot cleaner if I had an form handling API to work with.
We're returning an array, but the breadcrumb template is expecting the array to be an array of Breadcrumb
objects. It fails when trying to render $item->label
.
Since I'm onboarding and going through the process with a fresh set of eyes/ears. I wanted to jot down some possible suggestions for improving documentation.
All these suggestions should be taken with the context that I'm new to SquareOne and could likely be overlooking the obvious. I do have a good deal of experience working with Mark Jaquith's WP Skeleton (used by SquareOne), Roots - Bedrock, WP Local Docker, and many other local dev tooling setup in the WordPress ecosystem.
Replace all instances of "SquareOne local" with "SquareOne Local", and "SquareOne global" with "SquareOne Global". I think this is causing the biggest noise for me. There are areas where "SquareOne local" is referenced, but since it is lowercase "local" I'm interpreting it as a generic local environment, whereas I believe the author and documentation should be clear as to whether there are two difference products: SquareOne Local and SquareOne Global.
Then, I would reorganize the documentation as follows:
Also, this was the most enlightening bit of info that I found late in the game when trying to set up: https://github.com/moderntribe/square-one/blob/master/dev/docker/README.md#daily-usage
How to organize your SquareOne instances π
I'm hastily jotting this down just to get it down and will be happy to try and contribute enhancements in the noted areas in the coming weeks.
Thanks to all the hard work that undoubtedly numerous developers have contributed to SquareOne. Awesome project!
Hey there,
I would love to have a look into this but can you fix the documentation and video links like these:
https://github.com/moderntribe/square-one/blob/main/docs/frontend/README.md
https://vimeo.com/194057171
Hello,
A friend recently told me about this framework and I'm trying to check it out. I'm following the Getting Started guide, currently at section: spin-up-containers. I was able to get global container running. Then I ran this command npm run docker:start
and got hit with the following error:
Sun Sep 8 04:02:51 UTC 2019
Recreating square1_memcached_1 ... done
Recreating square1_elasticsearch_1 ... done
Recreating square1_redis_1 ... done
Recreating square1_php-fpm_1 ... done
Recreating square1_webserver_1 ... done
1/13: https://wpackagist.org/p/providers-2019-03$6d33f1e97aac20169568bdf6af0f0b7473abd16ca296090271f30c259224d3bc.json
2/13: https://wpackagist.org/p/providers-2011$8e23b35b4cfcf7f99e52c4e26fcabbe284a23fccdd3a861575ead068722df252.json
3/13: https://wpackagist.org/p/providers-2012$847abc94e665084c48a7d11b8af05e415c1f93d32447a8cbc7686868b9420543.json
4/13: https://wpackagist.org/p/providers-2013$7d4a9dda9c9e232636dc817270624c124327e0836851ff71e4a78b4957cdd87a.json
6/13: https://wpackagist.org/p/providers-2019-06$1df05f4139638e0be41daf6ae817c78aab9d49ad58567b86c18c4bcc121fe5b3.json
6/13: https://wpackagist.org/p/providers-2014$21fd0e37909557d8656f68dfc0f953a9d428640ef962878cecb14728d933e303.json
7/13: https://wpackagist.org/p/providers-2019-09$27b6c2b77c5cd5180e1ae3f3d59044d9040588e5a2f351b066300eba7386ffbd.json
8/13: https://wpackagist.org/p/providers-2016$f6dcd4f8fe47940887c56a50fc5b81aaa30a8bec9267c94a87df0906c3481ab4.json
9/13: https://wpackagist.org/p/providers-2017$4d0ecea8120c87a362130d53f6772153afdcbe82433e27ebd9060448ec19b6ee.json
10/13: https://wpackagist.org/p/providers-old$109638c56a3de4e04f0c26c2ac98d7909ab40093a3f09f62c990ddda3688b830.json
11/13: https://wpackagist.org/p/providers-this-week$9c5f7abde3e7e890310bc424e38ea8a0f1daf35e23512c0906dfb374104cefdc.json
12/13: https://wpackagist.org/p/providers-2015$c82b58a639909b12f196c8ee42cfdabd90f5d6e286fc4964ece0428876480896.json
13/13: https://wpackagist.org/p/providers-2018$0740f67d0d180050d55735b8ceacd8b60c57072464c08369b8e050616cd15b29.json
Finished: success: 13, skipped: 0, failure: 0, total: 13
1/12: http://repo.packagist.org/p/provider-archived$8d246e6405b41becd305b877da3eb50c0428de8d11d8496a011eee74f922f59b.json
2/12: http://repo.packagist.org/p/provider-latest$c4d3dc816d366a6ff83bdb003634a51138bd9aec3ea262e9c2ab0ec0c0db8704.json
3/12: http://repo.packagist.org/p/provider-2014$ca722b2204f954e3af6cf6509671d651f6947b54e2e61cdda47626381f0f951f.json
4/12: http://repo.packagist.org/p/provider-2018-10$14c5d8047eac3b33845564a317ce2b1db793094c73e5fdb61c88898f96d89e48.json
5/12: http://repo.packagist.org/p/provider-2019-01$e10b958a8e254e92a800dc437fe20fad5dc3bfd73afa4e32f69414c4a4232808.json
7/12: http://repo.packagist.org/p/provider-2015$dcc8676836a09981bff5aae22a1970e5b9d3019ec8f553505792b694af6f437f.json
7/12: http://repo.packagist.org/p/provider-2013$f1cc8e767accd102ab105015ea8fcfd09661c14d4e09f23f179211da428d1934.json
8/12: http://repo.packagist.org/p/provider-2019-07$be45305a2443f545c043fe4919223300896ec025fff6b655f426d440d6717ea7.json
9/12: http://repo.packagist.org/p/provider-2019-04$bff5087ec59b5bcf39ef346f740ddcb2bb2163ac0eaf95550862f2abd8cbd0ca.json
10/12: http://repo.packagist.org/p/provider-2016$15dcd22568106bb368634dbae130e93b6ea2bedfb1e2461b9fb1c723564d4e32.json
11/12: http://repo.packagist.org/p/provider-2018$e60bd8f66ceb1849f6c2f6ae5c05d2a73d3b1dee594b096793d8d373bc801f5f.json
12/12: http://repo.packagist.org/p/provider-2017$20ef305c9e66472573dc48ffb311b7b7043df291cefd52c04b3f074119d13916.json
Finished: success: 12, skipped: 0, failure: 0, total: 12
Loading composer repositories with package information
[Composer\Downloader\TransportException]
The "https://api.github.com/repos/moderntribe/panel-builder" file could not be downloaded (HTTP/1.1 404 Not Found)
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...
npm ERR! code ELIFECYCLE
npm ERR! errno 255
npm ERR! [email protected] docker:start: `./dev/docker/start.sh`
npm ERR! Exit status 255
npm ERR!
npm ERR! Failed at the [email protected] docker:start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Seems like the panel builder repo is gone? Any help would be greatly appreciated.
Thanks.
System: macOS
Docker version: 2.0.0.3 (31259)
After going through the setup steps in the README --skipping Docker installation, because I had already done this-- I ran into a strange error where all IP addresses 172.20.10.xxx
failed to resolve. The (partial) output log looks like this:
Starting tribe-proxy ... error
Starting tribe-dns-internal ...
Starting tribe-chrome ...
Starting tribe-mysql ...
Starting tribe-dns-internal ... error
Starting tribe-dns-external ...
ERROR: for tribe-proxy Cannot start service reverse-proxy: Invalid address 172.20.10.100: It does not belong to any of this network's subnets
Starting tribe-mail ... error
Starting tribe-chrome ... error
ERROR: for tribe-mail Cannot start service mailhog: Invalid address 172.20.10.90: It does not belong to any of this network's subnets
Starting tribe-mysql ... error
ERROR: for tribe-chrome Cannot start service chrome: Invalid address 172.20.10.80: It does not belong to any of this network's subnets
ERROR: for tribe-mysql Cannot start service mysql: Invalid address 172.20.10.20Starting tribe-dns-external ... done
ERROR: for reverse-proxy Cannot start service reverse-proxy: Invalid address 172.20.10.100: It does not belong to any of this network's subnets
ERROR: for dns-internal Cannot start service dns-internal: Invalid address 172.20.10.250: It does not belong to any of this network's subnets
ERROR: for mailhog Cannot start service mailhog: Invalid address 172.20.10.90: It does not belong to any of this network's subnets
ERROR: for chrome Cannot start service chrome: Invalid address 172.20.10.80: It does not belong to any of this network's subnets
ERROR: for mysql Cannot start service mysql: Invalid address 172.20.10.200: It does not belong to any of this network's subnets
ERROR: Encountered errors while bringing up the project.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] docker:global:start: `./dev/docker/global/start.sh`
npm ERR! Exit status 1
The container never fully installs.
If so, just reply here.
Itβs kinda passion of mine ;-)
During testing on the Routing sample, noticed when I changed the Query ver match key it no longer was accessible. Also, if I changed the format of the key, from a number to say a string, it would still return a zero int.
This is either an issue of missing documentation or a bug, either way we should investigate.
Added some routes for testing to this sample PR #715
When attempting to create a CLI command using the wp sq1 generate cli <command name>
I got a few errors about missing files which made me realize we don't have the base classes anymore. Not sure how they were removed, logging this ticket so whomever has time can re-add them.
wp s1 generate cli <command name>
and see the errors generatedSeems it somehow now contains invalid characters: https://github.com/moderntribe/square-one/pull/662/checks?check_run_id=1577220292
Issue:
It was noticed that the registerBlockType
filter doesn't run if it is inside ready( init );
call.
The following example will not work as expected if we put the filter within init
at wp-content/themes/core/assets/js/src/admin/editor/hooks.js
(here):
addFilter( 'blocks.registerBlockType', 'tribe/filter-alignment', setAlignmentSupports );
Potential Solution:
We can create a separate file with all the registerBlockType
filters required and hook it directly before the ready( init ) call
After following instructions for the new project setup, specifically getting the testing suite running, the following error appears:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Codeception PHP Testing Framework v3.0.3
Powered by PHPUnit 8.3.3 by Sebastian Bergmann and contributors.
Running with seed:
WPLoader could not correctly load WordPress.
If you do not see any other output beside this, probably a call to `die` or `exit` might have been made while loading WordPress files.
There are a number of reasons why this might happen and the most common is an empty, incomplete or incoherent database status.
E.g. you are trying to bootstrap WordPress as multisite on a database that does not contain multisite tables.
Run the same test command again activating debug (-vvv) to run a WordPress status check.
It looks like, alongside the WPLoader module, you are using the WPDb one.
Since the `WPLoader::loadOnly` parameter is set to `true` the WPLoader module will not try to populate the database.
The database should be populated from a dump using the WPDb modules.
Make sure the SQL dump you're trying to use is not empty and correct for the kind of installation you are trying to test.
Make also sure that, in the suite configuration file, in the `modules` section, the WPDb modules comes before the WPLoader one.
If you are, instead, trying to run integration tests you do not probably need the WPDb module or should set the `populate` and `cleanup` arguments to `false` and set the `WPLoader::loadOnly` parameter to `false` to let the WPLoader module populate the database for you.
Find out more about this at https://wpbrowser.wptestkit.dev/summary/modules/wploader#wploader-to-only-bootstrap-wordpress
Create a new [1] project with a name other than square1
by following the getting started guide for a new project. Configure the .env
and tests-config.php
files. Run npm run codecept:test
from the project root.
#134 (review)
A decision needs to be made on where to log this.
docs/concepts/templating.md still refers to using twig and does not match the component structure that's being used and documented in docs/concepts/components.md
It took me a little while to figure out why those docs didn't match.
Hi there!
During my learning moment on Square One, I noticed that the docker container conflicted with the existent networks. I could solve that by removing the other networks with the mentioned solution on the documentation. The only problem with that is: I might not want to remove the other networks.
In this case, I found out that there might be a way to solve that by customizing the subnet range (this is the link where some people are talking about this issue: https://stackoverflow.com/questions/50514275/docker-bridge-conflicts-with-host-network). I believe that this could be something to improve for the next steps of this project, making it more compatible to be used in a shared development environment.
Thanks in advance!
Hello,
The links at the first documentation are not getting to pages accessible. I believe that this might be due to this not being accessible to people from outside the organization. When I click on them I get 404, but if I navigate to the "docs" directory I can see them there.
I hope you are all well!
Cheers,
Savio
Goodness this is a stodgy-old-professor complaint but hear me out.
I recently had a situation where a new client stake holder needed to be brought up to speed in a hurry and I passed them a link on staging. Almost immediately came the response of "It's broken, no matter what I do I get some kind of not-found page". Not found sounds kinda like a 404 situation. And in this case, that's exactly what it was. I had not adequately prepped this customer to access staging and as a result his first exposure to tribe was:
We can neither confirm nor deny the existence or nonexistence of records responsive to your request. The fact of the existence or nonexistence of requested records is currently and properly classified and is intelligence sources and methods information that is protected from disclosure.
I'd like to propose we drop the browser facing glomar text and back story and replace with a more general description of why this is 404ing. I think the radiolab episode (and subsequent 1.5 hour wikipedia rabbit hole π) are a fun part of onboarding for devs. I'd propose we preserve the plugin naming and "archive" the radiolab link and text in the codebase.
TravisCI fails right now on builds because of issues with the tr1b0t oAuth token and the missing .env
file in the Composer install step. We need to allow for env vars set in TravisCI to be available to Docker Compose.
Need to add some additional automation for Debian/Ubuntu systems.
Chrome uses $HOME/.pki/nssdb
on Ubuntu for certificates.
Firefox uses a random string path: ~/.mozilla/firefox/${RANDOM PROFILE}.default-release
Need the certutil binary: sudo apt install libnss3-tools
For Chrome:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n tribe -i /usr/local/share/ca-certificates/tribeCA.crt
For Firefox:
find ~/.mozilla/firefox -name "cert9.db" | xargs dirname
certutil -d sql:$(find ~/.mozilla/firefox -name "cert9.db" | xargs dirname) -A -t "C,," -n tribe -i /usr/local/share/ca-certificates/tribeCA.crt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.