Framework: Clearing Search Index
2022 ∙ March ∙ Osm Framework
2 years ago ∙ 1 minute read
Use deleteAll()
method on a search query to, well, delete all entries from a search index.
2022 ∙ March ∙ Osm Framework
2 years ago ∙ 1 minute read
Use deleteAll()
method on a search query to, well, delete all entries from a search index.
2022 ∙ March ∙ Osm Framework
2 years ago ∙ 1 minute read
The implementation of the faceted implementation in osm.software
blog has shown that sometimes you need only facet counts, or only total count of matching entries.
Until now, Osm Framework had always queried total count
, ids
and facets
. Not anymore - and the search engine only provides the information that is actually needed.
2022 ∙ March ∙ Osm Framework
2 years ago ∙ 1 minute read
The implicit ElasticSearch hit limit is confusing. And you can't get all the hits - there is 10000 maximum hit limit that you can't exceed anyway.
Be explicit about the maximum number of search hits.
2 years ago ∙ 3 minutes read
In Osm Admin, object editing form is used not only for a single object editing, but also for editing multiple objects, and for creating a new object.
I also created the osmphp/extras
package as an easy way of adding Font Awesome icons to a project. Later, I'll add more optional reusable goodies to this package.
2021 ∙ November ∙ Osm Framework
3 years ago ∙ 2 minutes read
Currently, I'm working on Osm Admin package, and I need a module to inject its HTML markup around some well-known place in a Blade template. However, Blade template extensibility is not a problem that's specific to Osm Admin project. It's a generic problem. Let's solve that.
2 years ago ∙ 1 minute read
Before diving into what should be in the docs, let's define what you should more or less know before using Osm Admin.
There are four types of people who will read the docs: power users, developers, vendors and contributors.
2021 ∙ November ∙ Osm Framework
3 years ago ∙ 2 minutes read
When active, modal elements - dialogs, pickers, or AJAX spinners - need to prevent user interaction with the rest of the page.
A common approach is putting an overlay <div>
under the modal element covering the rest of the page, as a click shield. However, user can still navigate the page with the keyboard.
Today, I implemented a better solution by capturing mouse and keyboard events outside the modal element, and keeping focus inside.
2021 ∙ November ∙ Osm Framework
2 years ago ∙ 2 minutes read
Recently, I developed a couple of helper functions for transmitting PHP objects over the wire, and saving them in database records:
dehydrate()
- recursively converts an instance of a PHP class to a plain untyped object. Then, store the plain object in the database, or convert it to JSON and send it to a browser.hydrate()
- recursively converts a plain untyped object back to a PHP class instance. Use if after decoding a JSON received from the browser, or after loading a database record.This article describes how to use these functions.
2 years ago ∙ 3 minutes read
I developed dehydrate()/hydrate()
functions for a very practical need - storing the data class schema:
This article describes the information stored in the schema, and unit tests that I prepared in order to be sure that schema classes are property hydrated.