GitHub | 25 Jul 12:13 2016

[pharo-project/pharo-core] b5240e: 60152

  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b5240ed6e5c16c67dc61c35d0001d203363b7eaf
      https://github.com/pharo-project/pharo-core/commit/b5240ed6e5c16c67dc61c35d0001d203363b7eaf
  Author: Jenkins Build Server <board@...>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60151.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60152.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60151.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60152.st
    M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
    M Spec-Core.package/ContainerModel.class/definition.st
    M Spec-Core.package/DialogWindowModel.class/definition.st
    M Spec-Core.package/DropListModel.class/instance/api/displayForItem_.st
    M Spec-Core.package/ListModel.class/instance/api/multiSelection_.st
    M Spec-Core.package/ListModel.class/instance/private/clickOnSelectedItem.st
    M Spec-Core.package/MenuModel.class/instance/printing/printOn_.st
    M Spec-Core.package/RadioButtonModel.class/instance/protocol/state_.st
    M Spec-Core.package/SpecAdapterBindings.class/instance/initialize/initializeBindings.st
    M Spec-Core.package/TableContainerModel.class/definition.st
    M Spec-Core.package/TickingWindowModel.class/definition.st
    M Spec-Core.package/TransferModel.class/definition.st
    M Spec-Core.package/TreeModel.class/class/examples/exampleWithCustomColumnsAndNodes.st
    M Spec-Core.package/WindowModel.class/definition.st
    M Spec-Core.package/extension/PluggableMenuItemSpec/instance/addToMenuItemModel_.st
    M Spec-Debugger.package/SpecDebuggerStack.class/instance/printing/columnsFor_.st
    R Spec-Examples.package/ApplicationWithToolbar.class/instance/initialization/addItem.st
    M Spec-Examples.package/DynamicWidgetChange.class/instance/private/changeToButton.st
(Continue reading)

GitHub | 25 Jul 12:13 2016

[pharo-project/pharo-core]

  Branch: refs/tags/60152
  Home:   https://github.com/pharo-project/pharo-core
Yuriy Tymchuk | 25 Jul 09:58 2016
Gravatar

Spec TextModel syntax highlight

Hi, I’m trying to have a syntax highlight in my code area. When I do 

TextModel new
	beForCode;
	openWithSpec 

and type a code there, nothing is highlighted. any ides why?

Also where should I look if I want to use a custom SHTextStyler?

Cheers.
Uko

GitHub | 24 Jul 22:12 2016

[pharo-project/pharo-core] 38eda5: 60151

  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 38eda59e2e6cd1af69c8f399c3add62581a703bc
      https://github.com/pharo-project/pharo-core/commit/38eda59e2e6cd1af69c8f399c3add62581a703bc
  Author: Jenkins Build Server <board@...>
  Date:   2016-07-24 (Sun, 24 Jul 2016)

  Changed paths:
    M NautilusRefactoring.package/ChangesBrowserTest.class/instance/tests/testInitializeWidgets.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60150.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60151.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60150.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60151.st
    M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
    A Spec-Core.package/ComposableModel.class/instance/accessing/focusOrder_.st
    M Spec-Core.package/RadioButtonGroup.class/definition.st
    A Spec-Core.package/RadioButtonGroup.class/instance/accessing/buttons.st
    A Spec-Core.package/RadioButtonGroup.class/instance/accessing/currentlyActivated.st
    A Spec-Core.package/RadioButtonGroup.class/instance/accessing/currentlyActivated_.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api-events/whenCanDeselectByClickChanged_.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api-events/whenCurrentlyActivatedChanged_.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api/addRadioButton_.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api/canDeselectByClick.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api/canDeselectByClick_.st
    A Spec-Core.package/RadioButtonGroup.class/instance/api/default_.st
    M Spec-Core.package/RadioButtonGroup.class/instance/initialization/initialize.st
    R Spec-Core.package/RadioButtonGroup.class/instance/protocol-events/whenCanDeselectByClickChanged_.st
    R Spec-Core.package/RadioButtonGroup.class/instance/protocol/addRadioButton_.st
    R Spec-Core.package/RadioButtonGroup.class/instance/protocol/canDeselectByClick.st
    R Spec-Core.package/RadioButtonGroup.class/instance/protocol/canDeselectByClick_.st
(Continue reading)

GitHub | 24 Jul 22:12 2016

[pharo-project/pharo-core]

  Branch: refs/tags/60151
  Home:   https://github.com/pharo-project/pharo-core
Yuriy Tymchuk | 24 Jul 11:14 2016
Gravatar

Questions about TextModel in Spec

Hi,

at some moment I wrote a super angry comment about Spec. But as there is a big effort put into documentation &
improving the framework I’ve decided to give it another try.

And guess what, after 10 min I ran into yet one more problem. I was expecting that it will be tough to have a
custom styling for code, but no it’s much simpler: how do I get a text from text model? I type something in,
sent #getText to the model => nothing. I expect that the problem is that the text is not accepted… Why in
the first place a basic text model needs this “accept” stuff? What if I have just a dialog where someone
types something and submits it? I don’t need accepts with orange corners for that.

I think that you’ve got the idea. I just want to build a simple UI and it looks like it’s easier to do it with Morphic…

Cheers.
Uko

Juraj Kubelka | 23 Jul 16:07 2016
Gravatar

SmalltalkHub MCRepositoryError, ZnHttpUnsuccessful: 503 Service Temporarily Unavailable

Hi,

It has been already several days that SmalltalkHub say "ZnHttpUnsuccessful: 503 Service Temporarily
Unavailable”. Is it known problem? 

	MCRepositoryError: Could not load ConfigurationOfGlamourCore-JurajKubelka.142.mcz:
ZnHttpUnsuccessful: 503 Service Temporarily Unavailable

It happens whenever FogBugz is checking case:
https://ci.inria.fr/pharo/job/Pharo-6.0-Issue-Validator/6360//artifact/validationReport.html 

What I can do about it?
Cheers,
Juraj

Pavel Krivanek | 22 Jul 15:12 2016
Picon

A taste of bootstrap

Hi,

as you maybe know, we are working on Pharo image bootstrap - the process that can generate an image from source codes and initialize it correctly. Because of practical reasons we do not bootstrap the standard image at once but we are trying to bootstrap a small headless kernel image and then load the rest of the system into it. 

The good news is that we are successful in our effor. We are already able to produce well usable images as you can test here:


From the Pharo/Squeak point of view this image is very special because it doesn't contain any object inherited from 70's. Pharo lost its umbilical cord.

Notice that the initial display width is too narrow and and we still need a lot of work on the building process, but In the next weeks and months it will change a lot the Pharo development - especially as soon as it will be combined with Git support. 

Cheers,
-- Pavel


Denis Kudriashov | 22 Jul 12:45 2016
Picon

[Ann] ObjectTravel. A tool to traverse object references

Hi.

This is side project of my work on Seamess and RemoteDebuggingTools. You can load it by:

Gofer it
smalltalkhubUser: 'Pharo' project: 'ObjectTravel';
configuration;
loadStable

ObjectTravel is a tool to deeply traverse "native" references of given object through instance variables and "array contents".

Usage is quite simple:

traveler := ObjectTraveler on: (1 <at> 2 corner: 3 <at> 4).
traveler referencesDo: [:eachRef | eachRed logCr].

Here is list of suitable methods:
  • collectReferences
  • countReferences
  • skip: anObject
  • traverseOnly: predicateBlock
  • copyObject
  • findAllPathsTo: targetObject
  • replaceCurrentReferenceWith: anObject

Best regards,
Denis
Norbert Hartl | 22 Jul 10:17 2016
Gravatar

[ANN] JSONWebToken

Hi,

thanks to the inquiry of Sven I published an implementation of JSONWebToken to smalltalkhub. It is available at


For those who don't know JSONWebToken or short JWT pronounced "jot" is a token format suitable for authentication and authorization. The token consist of a header, a payload and a signature. The header defines crypto algorithms, compression and other things needed to read a token on reception. The payload is called a claim set which is basically a dictionary with well-known and custom keys. If we think about OAuth or OpenId the values contained map directly to JWT claims. For OpenID connect which is an identification mechanism on top of OAuth the usage of JWT is one of the building blocks. 

What are the advantages in using JWT?

- it defines a header for encoding the content so it is quite flexible in the ways compression and encryption of the key is done
- defines a payload which maps arbitrary keys and there is a set of well-known keys that implementations of OAuth, OpenID can understand
- defines a signature that makes it easy to trust the information contained or to give the token to someone who is not trusted
- token format is a single line string so it can be used e.g. in HTTP authentication headers

A problem JWT can solve:

In our company we have a lot of little REST servers serving some duties. To minimize the chaos I want to have a central authentication and authorization point. If we assume having 20 images running and we look at typical way how authorization works:

there is image A (Authentication), image S (Service) und client C. Client C wants to use the service S

1. client C authenticates and retrieves authorization information from A (or from S which redirects him to A)
2. client C hands out the authorization information to S
3. S needs to check at A if the information is valid (client C could have modified it or generated it)
4. S grants C access

Taking the assumption of having 20 service images, every image would need to get back to A in order to check authorization information. The more services images you have the more load it will put on A. In a JWT use case scenario the same would look like

1. client C authenticates and receives a JWT containing authorization information. The token is signed by A
2. client C hands out JWT to service S
3. S checks the signature of A and knows that the authorization information contained is valid. 
4. S grants C access

FYI,

Norbert

Ben Coman | 22 Jul 05:55 2016

git feature request

I'm not sure what the roadmap is for git integration, but just a use case that occurs to me while I work "a bit with git" for the first time from Pharo.  

I install a project via a Baseline from git and makes a small improvement. What is the easiest way to contribute back?  I can't push back to the personal repo I downloaded from, so the easiest thing would be a single menu item to:
1. Fork original repository
2. Push current in-Image code to a new branch in that fork.

Maybe even...
3. Issue a pull request to the original repository.

cheers -ben 

Gmane