Jump to content

What are you currently building ?


Peter Knight

Recommended Posts

Thanks :) 

I would like to see it in core, too. Just need some more people to try it and find bugs (there will be if you're using IE8 or something). And somehow inline mode looks wrong and I don't know how to fix it.

So if ryan would like to implement it somehow (or some one else and then creating a pull request): feel free to do so :)

Link to comment
Share on other sites

Okay, so it appears the problem is coming from here:

.cke_chrome {
    display: block;
    border: 1px solid #e5e5e5 !important;
    padding: 0;
    float: left; <-------------
    width: 100%; <-------------
    box-sizing: border-box;
}

Removing those lines fixes the inline toolbar, but it breaks the cke_chrome component for the classic editor. in that it lands up being 0px high, and so the border collapses and doesn't wrap around the entire editor. You can't use overflow:hidden there because then the tooltips for the inline editor break.

It's like a naughty child that just won't stop. Nonetheless, I hope it points you in the right direction...

Link to comment
Share on other sites

  • 2 months later...

And somehow inline mode looks wrong and I don't know how to fix it.

The inline editor toolbar is added as the last child to the body so there's no connection with the editor itself. The easiest thing I have in mind is to append the toolbar to the editor and set a pre-specified bottom position in CSS, eg "bottom: 70px". So it could inherit the editor width (100%) and grow upwards (useful if editor buttons break to multiple lines).

Link to comment
Share on other sites

Here is a dirty quick fix - perhaps someone could make it nicer.

1. Append this to skin.js (/site/modules/InputfieldCKEditor/skins/lightwire/skin.js)

// inline editor toolbar position fix
// needs changes in editor.css, editor_gecko.css, editor_ie.css
$('.InputfieldCKEditorInline').click(function () {

	var inlineToolbar = $('#cke_' + $(this).attr('id'));

	if (inlineToolbar.length) {
		$(this).parent().after(inlineToolbar);
	}
});

2. Append this to editor.css, editor_gecko.css, editor_ie.css:

/*inline editor toolbar position fix*/

.InputfieldCKEditor {
	position: relative;
}

.cke_float {
	bottom: 100% !important;
	top: auto !important;
	left: 0 !important;
	right: auto !important;
}
  • Like 3
Link to comment
Share on other sites

Interestingly inline ckeditor field contents are not saved after the above fix, so better not to use it (tested on 2.6.0,  2.6.6)

Update:

Fixed! See #57 above (had to add .parent()).

Link to comment
Share on other sites

Came across this thread through the latest PW newsletter issue.

Currently I'm working on 5 different projects with PW. Most is rather simple stuff regarding complexity of site structure.

One site is for the Universal Healing Tao Foundation of Grandmaster Mantak Chia and shows the organizational structure of the world wide foundation. To visualize the structure I am making my first steps with D3 JS which is a lot of fun. I created an SVG world map with data for all countries and continents and connect that map to data of people that are active in the foundation and hold various positions in their country.

The site is based on my Bootstrap/Fontawesome SASS site profile.

The current dev status can be seen here.

One of the more complex sites has an extensive frontend user area where users can manage their sound servers and publish advertisements to their servers which will later be displayed on mobile devices that are connected to the servers. Quite complex forms with PDF to image conversion on upload etc. that I am building with the PW form API.

This site is also dealing with data exchange between PW and mobile devices where the mobile devices connect to PW through a RESTful API to send and get data.

Doing this the first time and, honestly, I don't know if I would have had the confidence to take on the project without having PW as the perfect tool at my hands :)

  • Like 3
Link to comment
Share on other sites

Doing this the first time and, honestly, I don't know if I would have had the confidence to take on the project without having PW as the perfect tool at my hands :)

Same feelings here. My current PW project is a much simpler site (recipe blog), what makes it a bit more difficult is being multilanguage. Making relations between recipes, ingredients, etc was a breeze. Achieving this in other CMSes I know were much more problematic, even on a single-language site. In PW I could solve all the basic stuff without any modules. Of course I use some for my convenience - Page Field Edit Links, Admin Template Columns, SEO, Page List Image Label.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

This week like every week i've to write somewhere how great PW is... :) ...since i am setting up my first bigger website...i choose this threat for my lovestory...

I'm just finished with a special eventcalendar....and could manage easy provide .ics files for download and saving events in outlook and many other calendars...just easy.

I generate the file at runtime and deliver it.

This is the admin.php magic for the right urls:

/**
 * change page name on event pages and add the fileextention to the pagename
 * chreate pagename-date-id.ics as url
 */
$pages->addHookAfter('saveReady', null, 'addEvent');
function addEvent(HookEvent $event) {
	$page = $event->arguments[0];
	if($page->template != 'event' ) return; //for this template only
		//add file extention
		$fileext = ".ics";
		$newName = wire('sanitizer')->pageName($page->title, true);
		$date = date("Y-m-d", $page->getUnformatted("event_start_date"));
		$page->name = $newName .'-'. $date .'-'. $page->id . $fileext;
		$page->message($page->name);
}

and then just put this in the frontendtemplate:

<?php
//set correct content-type-header
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename=calendar.ics');

//get the data for the ical file and create output...

and for shure i've this line in my vevent filled with PW as iCalendar Generator:

PODID...Description: Identifies the application that generated the iCalendar file.

$ical_data .= 'PRODID:-//'.$homepage->title.'//ProcessWire//DE'

works like a charm - saving the events in MS Outlook, mobile or google cal.

so next challenge on this project is on the plan.

Best regards - very busy mr-fan

  • Like 2
Link to comment
Share on other sites

Update:

For the curious minds, the site is published at: http://www.ecocarb.com.br/ ( but only pt-br version for now) :)

---

I'm creating a small project for a company owned by a cousin of mine and I'm using it to try new things, most on the front-end side but I decided to try jade with php.

What I'm using:

  • gulp to run all tasks – compile all sass and jade files and copy processwire files to the public folder 
  • bourbon + neat – nice mixins and grid system with a small footprint (project total css if less than 8kb - gzipped)
  • jade + jade-php – I'm loving jade and with the jade-php npm package I can run ProcessWire code just fine. It's not the perfect world, sometimes I have to mix <?php ?> tags but I'm fine with it for such small project.

Here's my basic-page.jade file:

post-367-0-64017700-1441216527_thumb.png

The rendered html:

post-367-0-65011700-1441216966_thumb.png

And here's the homepage so far (please ignore the translation, it is not done yet):

post-367-0-43431200-1441216062_thumb.png

And homepage's code:

extends _main

block header

  link(rel='stylesheet', href!='<?php echo $config->urls->templates?>css/home.css')

block main-content

  include partials/_hero.jade

  .cta
    section
      h6
        - echo __('O que dizem nossos clientes')
      include partials/_comments.jade

      a.button(href!="<?php echo $pages->get('/contact/')->url ?>") 
        - echo __('Teste grátis por 30 dias')
        br
        small
          - echo __('Agende uma apresentação')
  
  section.desc
    h2
      - echo $page->summary

  .services
    .line-behind-text
        h6.section-title
          - $services = $pages->get('/services/')->get("headline|title")          
          - echo $services
    include partials/_cards.jade
  • Like 6
Link to comment
Share on other sites

Nice writeup Sérgio, thanks! I like things like jade but I'm afraid I'll stick with traditional templating instead :)

Currently I'm building a portfolio page (kind of). It's simple regarding the backend but somewhat more difficult on the frontend. It uses fullPage.js and other fancy things will be also incorporated. I used many tips here from the forums so thank you all who shared your tips!

I realized I often need key=value kind of things, or key=value1,value2,valueXX thingies and put together a textformatter module that is ridiculously simple but very powerful. Of course I could set up separate fields or pages for them but that would require much more resources and wouldn't be so flexible. I still need to polish things up but so far so good.

Link to comment
Share on other sites

Nice writeup Sérgio, thanks! I like things like jade but I'm afraid I'll stick with traditional templating instead :)

Currently I'm building a portfolio page (kind of). It's simple regarding the backend but somewhat more difficult on the frontend. It uses fullPage.js and other fancy things will be also incorporated. I used many tips here from the forums so thank you all who shared your tips!

I realized I often need key=value kind of things, or key=value1,value2,valueXX thingies and put together a textformatter module that is ridiculously simple but very powerful. Of course I could set up separate fields or pages for them but that would require much more resources and wouldn't be so flexible. I still need to polish things up but so far so good.

I have used fullpage.js in a few sites! Clients love that thing  :lol:

Link to comment
Share on other sites

  • 2 months later...

It's been more than 9 months since I wrote in this thread about our intranet. Well, things happened that had me away for a good while, and when I got back to it, the wishlist exploded. Finally, though, the migrated intranet is up and running, and based on the feedback I'm getting, I can already call it a success. Here's a short feature list:

  • Running on Windows Server 2012R2 / IIS 8.5
  • A little over 8000 pages, two languages, 600+ frontend users in 15 countries, 45 editors
  • About 20 templates
  • 15 custom modules
  • Reduced custom CRM module code to less than one-eighth (counted in bytes, not lines)
  • Integrated web server authentication and detailed Group permissions using Apeisa's UserGroups module (big thanks there! Keeping our group-based permissions was one of the main requirements for the new CMS)
  • Live user + groups synchronization from Active Directory
  • Granular search via OpenSearchServer (including permissions handling and indexing linked PageFiles)
  • Tag based in-text translation system through custom Textformatter module linked to our ERP database, with own CKEdtior plugin (think detailed technical data sheets where you don't want to edit every language version separately)
  • About 400 dynamic pages that range from simple database-driven lists to rich single page apps
  • Persistent page links using page IDs that get replaced on save + render
  • Versioning for textareas
  • Custom links in the style of "article:CUSTOM_UNIQUE_FIELD" used to fetch recurring content into pages in our in-house manuals
  • Booking system for our inhouse training center using just pages, standard fields and a bit (well, a good bit) of frontend-editing glue, with graphical interactive calendar
  • Pages can be published per language through a multilanguage checkbox, with corresponding indicator icons and actions in ProcessPageList
  • Notice board system (title, short body, optional attachment, expiry date) for main and department pages, with frontend adding/editing and admin interface
  • Detailed permissions reports in backend and through command line for compliance audits
  • Not yet implemented, but a working prototype is already on the test system: a simple question/linear response forum system with rating, tagging, answer accepting and highlighting options, primarily targeted towards international knowledge exchange

Big thanks to Ryan, PW is really an outstanding system in terms of flexibility, scaling and ease of integration, and also to everyone who contributed in any way to PW itself or its huge module repository.

As a funny side node, I talked to a colleague from manufacturing when migration was still under way, and he was initially a bit miffed that I'd swap the system he already knows (hey, it's only been 7 1/2 years!) - but only until I told him I'd use PW. At the mention of the word "Process" he immediately determined that his workflow to add content would get a lot smoother, something I could confirm without thinking. (The old system had a separation between categories and articles, so you had to create both in different backend screens to get a navigation entry for a simple page that shows just some text - in PW he only needs to tick the "Show in Navigation" checkbox for his new page.) Shows that the right naming choice already gets you halfway to the goal :)

Now that "The Big Project" is done, I'll only have to weather the usual end-of-year-craziness, then I'll get my custom modules into a shape where I can share them (meaning: polish documentation, add reasonable defaults and switch to module config fields instead of config files).

  • Like 14
Link to comment
Share on other sites

The CRM part some highly specific stuff, certainly not helpful for anybody else. The modules I'll focus on getting into publishable state will be OpenSearchServerSearch (including the schema for OSS), PagePublishPerLanguage, ArticleIDLinks and ActiveDirectory/LDAP integration. If there's time left (I'm a bit cautious with promises atm, as I'm going to be rather involved in switching our ERP system next year), I'll see if I can change the translation TextFormatter into something generic and configurable and bundle everything together with the notice board into an Intranet site profile.

  • Like 5
Link to comment
Share on other sites

I just started the process of going 2.0 on my first PW build. It's been running smoothly on 2.5.3 for a little while now, its first iteration was on 2.4, early 2012 according to timestamps.

It never had an issue whatsoever, neither DB or security issues. The only downtimes I've ever had with it is moving from a shared to a dedicated server and a few security updates on the server itself. Satisfied customers for 3 years in a row! Since then, PW has seen so much.. and I've gotten a lot better at architecting content on it. ;)

  • Like 3
Link to comment
Share on other sites

I´m building a Markup Patternlab for my company to make it easy for our Devs and Graphic Designers to speak about the same elements and force them to produce reusable code. 

This is a little side project of mine because i have to manage some freelance designers, devs and our inhouse designers and devs. 

So this Patternlab is also serving as corporate styleguide once finished. 

If im allowed I will publish the whole App for the comm. 

Have a look:

post-782-0-96298100-1448891583_thumb.jpgpost-782-0-89892500-1448891591_thumb.jpgpost-782-0-75029900-1448891598_thumb.jpg

  • Like 14
Link to comment
Share on other sites

  • 2 weeks later...

There's that idea for a social site (hard to come up with a correct term without giving too much away) I've been carrying around for ages. One thing that has always held me off was knowing that I'd need a tightly integrated forum. I've plugged a few forums onto existing sites and always regretted taking the job.

So now that I've discovered PW, I decided to do it the other way round - build the forum on PW, then add everything else on top.

I'm planning it to be highly interactive, so it's not something done in a week, yet it's simply incredible what PW allows you to do in a matter of a few days.

Here's what I have so far (don't look to closely on the design, if I really go live with my idea, I'll have someone else with appropriate skills do the visual design). And don't mind the naming, I've only used PWForum as a working title in lack of inspiration.

Start page (dynamic menu, sidebar configured using selectable widgets)

PYQmDJD.png

It's reasonably responsive, not something I have experience with, so it's a learning curve

T5A135J.png

I already asked you to overlook the visual issues, didn't I? (but hey, things are there and it validates)

iPstnqf.png

There's already a bunch of features like friends and badges built through page fields, but lots of the frontend logic still has to follow.

ojMxcMn.png

A working private chat (jquery ajax polling) is already there. This is probably going to make it into the modules directory, even if it's just as proof-of-concept.

Doing that I learned about the different ways of "magically" including scripts and styles. For production use, I'll have to implement some kind of memory caching in front of the webserver for all the ajax calls, which is also a new playground.

6FJ8TDP.png

B5qaj6Z.png

Both chat and forum messages use bbcode-like markup.

I'm building my own textformatter and editor bundle for that to get it lean and flexible enough. The textormatter already allows you to configure smiley patterns in the backend.

cGOw2eH.png

There are going to be a lot of profile settings. I'm sure I'm going to have to add more than one tab.

2YbzWy5.png

This is just a project I'm doing for fun, so I don't have a timeline, it's more about toying with things and finding clean solutions. If things work out, I hope to have everything worked out some time around Easter and bundle it as a site profile for others to disassemble ;)

  • Like 7
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...